我有一个ViewPager的Activity,我有三个布局。在每个布局中,我每个都有10个按钮,我想让每个按钮在点击时起作用。因此,如果我使用为每个按钮定义onClick()方法的简单方法,它将是有趣和令人厌倦的,因为我将有30个这些setOnClickListener(this)调用和30个onClick方法。
在浏览开发人员网站时,我找到了一个非常重要的函数android:onClick,使用它我可以将所有键注册到xml文件本身的自定义onClick方法,然后单击按钮,这将调用Activity的方法。
但在我的情况下,使用View寻呼机我已经在屏幕上显示了一个视图。我在我的Activity中注册了一个名为 onClickTest()的自定义onClick方法。
public void onClickTest(View v) {
int id = v.getId();
String idname = getResources().getResourceEntryName(id);
Log.i("Sen", "clicked view = "+idname);
switch (id) {
case R.id.btn_test:
testActivity();
break;
default:
break;
}
但是当我点击viewPager视图中的按钮时,我无法执行我的onClickMethod。我怀疑它没有得到观点。
这是我的ViewPager的实例化方法
public Object instantiateItem(View collection, int position) {
final LayoutInflater inflater = (LayoutInflater) TestActivity.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
switch (position) {
case 0:
View v0 = inflater.inflate(R.layout.layout1, null, false);
((ViewPager) collection).addView(v0, 0);
return v0;
default:
return true;
}
}
layout1有10个键, btn_test 是其中的一个键。
你能告诉我如何使这个工作吗?
谢谢,
森
答案 0 :(得分:0)
你的问题有点不相干。您谈论了多个onClick()
,然后谈论了解android:onClick
,然后跳转到“注册”onClick()
听众,尽管您没有说明onClickTest()
与之绑定。
您可以选择其中任何一种方法并使其正常工作。尝试将android:onClick="onClickTest"
添加到XML中的按钮btn_test
。如果你已经有了,请在下次展示,这样我们就不会猜测你已经做过的事情:)。