我正在练习Android应用开发,观看了YouTube视频。除导入部分外,以下代码与讲师编码的结果完全相同。即使代码相同,我的代码也有4个错误(这就是为什么我添加了一些导入部分;;)
您能否看一下并教我如何修复它们?我在这里看到了类似的问题,但是他们的解决方案无效。
我得到了“ activity_input.xml”来显示按钮和片段。以下代码在“ InputActivity.java”上。片段的三个xml和Java文件。分别是“ Fragment1.java”,“ Fragment2.java”,“ StartFragment.java”,“ fragment1.xml”,“ fragment2.xml”,“ start_fragment.xml”。
两个按钮的ID为“ btn1”,“ btn2”。将显示片段的布局的ID为“ myFragment”
package com.example.money;
import android.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.app.Activity;
public class InputActivity extends Activity {
Fragment fragment;
Button btn1, btn2, btn3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input);
btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
FragmentManager fm = getFragmentManager(); //Here error 1 on getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
StartFragment myFragment = new StartFragment();
ft.add(R.id.myFragment, myFragment); ////Here error 2 on add
ft.commit();
btn1.setOnClickListener(btnOnClickListener);
btn2.setOnClickListener(btnOnClickListener);
}
Button.OnClickListener btnOnClickListener = new Button.OnClickListener() {
@Override
public void onClick(View v) {
Fragment newFragment;
if (v == btn1)
newFragment = new Fragment1();
else if (v == btn2)
newFragment = new Fragment2();
else
newFragment = new StartFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
//Here error 3 on getFragmentManager().beginTransaction()
//Here error 4 on replace
transaction.replace(R.id.myFragment, newFragment);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
}
};
}
使用此代码,并在eclipse中使用control + shift + o。正确组织导入,并正确选择。
import android.app.Fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.app.Activity;
public class InputActivity extends Activity {
Fragment fragment;
Button btn1, btn2, btn3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.to_do_list);
btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
android.app.FragmentManager fm = getFragmentManager();
android.app.FragmentTransaction ft = fm.beginTransaction();
StartFragment myFragment = new StartFragment();
ft.add(myFragment,R.id.myFragment);
ft.commit();
btn1.setOnClickListener(btnOnClickListener);
btn2.setOnClickListener(btnOnClickListener);
}
Button.OnClickListener btnOnClickListener = new Button.OnClickListener() {
@Override
public void onClick(View v) {
Fragment newFragment;
if (v == btn1)
newFragment = new Fragment1();
else if (v == btn2)
newFragment = new Fragment2();
else
newFragment = new StartFragment();
android.app.FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.myFragment, newFragment);
transaction.addToBackStack(null);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.commit();
}
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句