Android 点击viewPager上的按钮?
我有一个viewPager,在第二页我有一个按钮。我想让它在点击时做点什么,但它没有做 我已经对xml文件进行了以下操作: android:onClick=“buttonClick” 我还尝试了onCreat内外的setOnClickListener 这两个都不起作用 我的viewPagerAdapter工作正常!我可以看到页面,并在页面之间切换。但我就是不能让按钮做任何事情。它可以在适配器中完成,但我会做很多事情,所以它不会有用 感谢您的帮助 以下是代码:Android 点击viewPager上的按钮?,android,button,android-viewpager,buttonclick,Android,Button,Android Viewpager,Buttonclick,我有一个viewPager,在第二页我有一个按钮。我想让它在点击时做点什么,但它没有做 我已经对xml文件进行了以下操作: android:onClick=“buttonClick” 我还尝试了onCreat内外的setOnClickListener 这两个都不起作用 我的viewPagerAdapter工作正常!我可以看到页面,并在页面之间切换。但我就是不能让按钮做任何事情。它可以在适配器中完成,但我会做很多事情,所以它不会有用 感谢您的帮助 以下是代码: public class ViewP
public class ViewPagerProjectActivity extends Activity {
Button btn;
AbsoluteLayout l;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewPagerAdapter adapter = new ViewPagerAdapter( this );
ViewPager pager = (ViewPager)findViewById( R.id.viewpager );
pager.setAdapter( adapter );
pager.setCurrentItem(0);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
l = (AbsoluteLayout) findViewById(R.id.layout2);
btn = (Button) l.findViewById(R.id.button1);
// btn.setOnClickListener(this);
}
public void buttonClick(View v) {
if(v.equals(btn)) {
l.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
}
}
}我发现您的代码有一些问题:
onSaveInstanceState
中执行任何操作<代码>onSaveInstanceState仅在活动即将暂停时调用;在此之前不会调用它,因此在其中附加侦听器不会起任何作用:(ViewPagerProjectActivity
实现了onClickListener,否则您不能执行btn.setOnClickListener(此)
。因此您可以实现它,或者只使用下面的代码setContentView(R.layout.main)
之后的onCreate
:
你是对的…我犯了一个错误,它应该是“onWindowFocusChanged”而不是“onSaveInstanceState”…现在它工作了:)顺便说一下,它也按照你说的方式崩溃了。。。
Button btn = (Button) findViewById(R.id.button1);
OnClickListener listener = new OnClickListener(){
@Override
public void onClick(View v) {
v.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
}};
if (btn != null)
btn.setOnClickListener(listener);