如何单击 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/