gpt4 book ai didi

android - On Click 监听器在 View Pager 中不起作用

转载 作者:行者123 更新时间:2023-11-29 17:58:05 25 4
gpt4 key购买 nike

我在 ViewPager 中有两个页面。在这两个页面中,我有按钮,我必须对其执行操作。按钮的单击监听器在第二页上工作得很好,但在第一页上不起作用。这是我尝试过的 Activity 和适配器类

    public class MainActivity extends Activity {
int noofsize = 2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPagerAdapter adapter = new ViewPagerAdapter(MainActivity.this,
noofsize);
ViewPager myPager = (ViewPager) findViewById(R.id.reviewpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);
}


}

而适配器类如下

    public class ViewPagerAdapter extends PagerAdapter implements OnClickListener {
int size;
Activity act;
View layout;
TextView pagenumber;
Button click;

public ViewPagerAdapter(MainActivity mainActivity, int noofsize) {
// TODO Auto-generated constructor stub
size = noofsize;
act = mainActivity;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return size;
}

@Override
public Object instantiateItem(View container, int position) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout = inflater.inflate(R.layout.pages, null);
pagenumber = (TextView) layout.findViewById(R.id.pagenumber);
pagenumber.setText("Now your in Page"+position);
click = (Button) layout.findViewById(R.id.click);
click.setOnClickListener(this);
((ViewPager) container).addView(layout, 0);
return layout;
}

@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}

@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}

@Override
public Parcelable saveState() {
return null;
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v == click) {
Toast.makeText(act, "click event called", Toast.LENGTH_SHORT)
.show();
}

}

}

最佳答案

如果你想捕捉按钮点击并做一些事情,最好用最简单的方式来做......
代码越少越好!
我们开始了;
在按钮组件(或任何组件)的 layout.xml 中应该有这个

android:onClick="onClick_function"  

然后你可以在你的代码中自动捕获这个事件,你只需要一个同名的函数

public void onClick_function(View v) {
// here we go!
}

关于android - On Click 监听器在 View Pager 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com