android – 如何在ViewPager中设置OnClickListener

weixin_38061328 2019-09-12 12:52:34
我是Android开发的新手,我正在学习代码和编程.设计一个Android项目.我在使用ViewPager时遇到问题,无法在此网站上或通过Google搜索找到答案. 问题:我不能让Button在ViewPager中执行它的动作. 你可以看到我的项目& apk文件:https://dl.dropbox.com/u/9820517/ForOneTimeDownload/TestPagerView.rar 这是我的PagerDemo.java: public class PagerDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_pager_demo); myPagerAdapter adapter = new myPagerAdapter(); ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager); myPager.setAdapter(adapter); myPager.setCurrentItem(2); SetAllBtnFunc(); } public void SetAllBtnFunc() { //all func View.OnTouchListener touch = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Log.d("hlv_trinh", "Button be Touched!"); return false; } }; View.OnClickListener click = new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Log.d("hlv_trinh", "Button be Clicked!"); } }; //Get view View v = getLayoutInflater().inflate(R.layout.middle, null); Button b = (Button) v.findViewById(R.id.myBtn); b.setOnClickListener(click); b.setOnTouchListener(touch); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_pager_demo, menu); return true; } private class myPagerAdapter extends PagerAdapter { public int getCount() { return 5; } public Object instantiateItem(View collection, int position) { LayoutInflater inflater = (LayoutInflater) collection.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); int resId = 0; switch (position) { case 0: resId = R.layout.farleft; break; case 1: resId = R.layout.left; break; case 2: resId = R.layout.middle; break; case 3: resId = R.layout.right; break; case 4: resId = R.layout.farright; break; } View view = inflater.inflate(resId, null); ((ViewPager) collection).addView(view, 0); return view; } @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; } } } 我的布局内容如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Middle" android:textSize="30dp" > </TextView> <Button android:id="@+id/myBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Test Click" /> </LinearLayout>
...全文
160 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38068204 2019-09-12
  • 打赏
  • 举报
回复
这是一个简单的解决方案.在你的布局XML中,在按钮标签中,设置android:onClick =“AnyName”,然后在你的PagerDemo.java上,放置: public void AnyName(View v) { // Do your stuff } 这在ViewPager中设置onClickListener.

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧