android - 如何点击 ViewPager 中的项目

标签 android android-viewpager onclicklistener

如何单击 ViewPager 中的项目。我想返回我点击的当前项目的位置。例如,我尝试运行下一个代码:

pager.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        Toast toast = Toast.makeText(getApplicationContext(),
            pager.getCurrentItem(), Toast.LENGTH_SHORT);
        toast.show();
        }
    });

但是什么也没发生。我已经在 ViewPager 的布局中编写了 onClick 选项。也许有人可以告诉我,我做错了什么?

最佳答案

为什么不将 onclick 监听器添加到 fragment 中。然后广播一个 Intent 。

public class Your extends  Fragment
{
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle  savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    View inflatedView = inflater.inflate(R.layout.customlayout, null);
    inflatedView.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    Intent temp =  new Intent("anything.com.com.CHECK_CURRENT_PAGE_ITEM");
    getActivity().sendBroadcast(temp);
    }
    });
    }
}

然后在您的主要 Activity 中注册一个广播接收器

public class Youractivity extends FragmentActivity
{

private BroadcastReceiver clickedReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast toast = Toast.makeText(getApplicationContext(),
        pager.getCurrentItem(), Toast.LENGTH_SHORT);
    }
};

@Override
public void onCreate()
{
...
   registerBroadcstReceiver(clickedReceiver, new IntentFilter("anything.com.com.CHECK_CURRENT_PAGE_ITEM"))

...
}
@Override
public void onDestroy()
{
unregisterBroadcastReceiver()
}
}

关于android - 如何点击 ViewPager 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554866/

相关文章:

java - 使用 Box Android 库 (apiV2) 检查 Box 帐户中的文件/文件夹是否为只读的正确方法是什么?

android - 如何在屏幕旋转时保留 View Pager 的 fragment ?

android - PagerTabStrip中的一些问题和难点

android - listView 上的复选框阻止事件点击,kotlin

android - onclicklistener 不在方法内部工作

java - 如何自动使用类的名称?

android - Android 上的 tensorflow 错误

java - 在 ViewPager 中更新 ListView 的正确方法?

java - OnClickListener 未按预期运行

java - 通用图像加载器 - 手动清除缓存