我有 20 多个TextView
,ImageView
在我的活动中是这样的:
<GridLayout id="layout">
<TextView android:id="@+id/t1" android:layout_width="wrap_content" .../>
<TextView android:id="@+id/t2" android:layout_width="wrap_content" .../>
......
</GridLayout>
每个TextView
或ImageView
都有一个相关的代码。
现在我尝试处理子视图的点击事件,逻辑很简单,通过不同的代码从服务器获取数据。
我知道一般方法可能是这样的:
findViewById("layout").setOnClickListener(this);
@Override
public void click(View v){
switch(v.getId()){
case R.id.t1 :
doSearch(1);
break;
case R.id.t2 :
doSearch(2);
break;
.....
}
}
然后我要太多case
s 。
然后我想知道我是否可以View
直接将代码绑定到,也许是这样的:
<TextView android:id="@+id/t1" android:layout_width="wrap_content" xx:code="1" .../>
<TextView android:id="@+id/t2" android:layout_width="wrap_content" xx:code="2" .../>
然后我可以这样处理事件:
@Override
public void click(View v){
doSearch(v.getCode());
}
这是可能的还是任何其他选择?