Android onClickListener无法解析为变量
我试图对所有四个ImageButton实现相同的onClickListener。但它显示了不解析onclick侦听器的错误Android onClickListener无法解析为变量,android,fragment,imagebutton,Android,Fragment,Imagebutton,我试图对所有四个ImageButton实现相同的onClickListener。但它显示了不解析onclick侦听器的错误 package com.yogeshbalan.myrootguide; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.o
package com.yogeshbalan.myrootguide;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import com.yogeshbalan.myrootguide.fragment_1.Android_Rooting;
import com.yogeshbalan.myrootguide.fragment_1.How;
import com.yogeshbalan.myrootguide.fragment_1.What;
import com.yogeshbalan.myrootguide.fragment_1.Why;
public class MainActivity extends Activity {
Fragment fragment;
public ImageButton android_rooting,android_what,android_why,android_how;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageButton android_rooting = (ImageButton) findViewById(R.id.imageButton_androidrooting);
final ImageButton android_what = (ImageButton) findViewById(R.id.imageButton_what);
final ImageButton android_why = (ImageButton) findViewById(R.id.imageButton_why);
final ImageButton android_how = (ImageButton) findViewById(R.id.imageButton_how);
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Android_Rooting myFragment = new Android_Rooting();
ft.add(R.id.myFragment, myFragment);
ft.commit();
android_rooting.setOnClickListener(onClickListener);
android_what.setOnClickListener(onClickListener);
android_why.setOnClickListener(onClickListener);
android_how.setOnClickListener(onClickListener);
ImageButton.OnClickListener onClickListener = new OnClickListener(){
Fragment newFragment;
@Override
public void onClick(View v) {
if (v.getId()==R.id.imageButton_androidrooting) {
newFragment = new Android_Rooting();
} else if(v.getId()==R.id.imageButton_what){
newFragment = new What();
}
else if(v.getId()==R.id.imageButton_why){
newFragment = new Why();
}
else if(v.getId()==R.id.imageButton_how){
newFragment = new How();
}
}
};
FragmentTransaction Transaction = getFragmentManager().beginTransaction();
Transaction.replace(R.id.myFragment, myFragment);
Transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
Transaction.commit();
}
我想在我的主要活动中添加片段。
但这并不是我所期望的。请帮助我…或者建议另一种方法。。。
我正在学习本教程尝试放置
android_rooting.setOnClickListener(onClickListener);
android_what.setOnClickListener(onClickListener);
android_why.setOnClickListener(onClickListener);
android_how.setOnClickListener(onClickListener);
低于
ImageButton.OnClickListener onClickListener = new OnClickListener(){
...
};
希望这有助于从onCreate创建一个像
View.OnClickListener onClickListener= new View.OnClickListener() {
public void onClick(View v) {
// it was the 1st button
}
};
然后在oncreate
method中绑定该方法或单击如下事件
android_rooting.setOnClickListener(onClickListener);
android_what.setOnClickListener(onClickListener);
android_why.setOnClickListener(onClickListener);
android_how.setOnClickListener(onClickListener);
您也可以从XML中执行此操作,将
android:onClick=“onClickListener”
添加到要绑定onClickListener
event.Listener的所有图像按钮中。始终在使用前放置变量声明。按照@VictorKoenders的建议,将变量声明移动到使用它的代码上方:
ImageButton.OnClickListener onClickListener = new OnClickListener(){
........
};
android_rooting.setOnClickListener(onClickListener);
android_what.setOnClickListener(onClickListener);
android_why.setOnClickListener(onClickListener);
android_how.setOnClickListener(onClickListener);
请附上您的错误日志输出。我已经按照您所说的@VictorKoenders完成了操作,但现在当我单击它们各自的按钮时,片段并没有改变。