我有想法为几个TextView设置android:onClick="myClickMethod"
。
<TextView
android:id="@+id/search_suggestion_1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="myClickMethod"
android:clickable="true"/>
<TextView
android:id="@+id/search_suggestion_2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="myClickMethod"
android:clickable="true"/>
<TextView
android:id="@+id/search_suggestion_3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="myClickMethod"
android:clickable="true"/>
我如何区别于调用哪个TextView myClickMethod()?
答案 0 :(得分:2)
您可以使用每个文本视图的ID来完成。根据文本视图ID,在myClickMethod中使用Switch-Case。您还可以通过标记来区分文本视图。
答案 1 :(得分:0)
您可以为每个人设置tag
。这样,例如,对于第一个View
使用android:tag="1"
等等。
在onClick
方法中,只需使用v.getTag()
,您就可以区分它们。
答案 2 :(得分:0)
您可以使用简单的开关案例
public void myClickMethod(View v)
{
switch(v.getId()) /
// id is an int value. use getId to get the id of the view
{
case R.id.search_suggestion_1:
// search suggestion 1
break
case R.id.search_suggestion_2 :
// search suggestion 2
break;
case R.id.search_suggestion_3:
// search suggestion 3
break;
}
}
答案 3 :(得分:0)
当您在以下活动中创建函数时:
public void onClickMethod(View view){
//Input argument is the view on which click is fired.
//Get id of that view
int id = view.getId();
switch(id){
// your logic
}
}
答案 4 :(得分:0)
您可以使用switch-case
通过比较Textview
来确定id
被按下的决定。
public void myClickMethod(View v) {
switch(v.getd()) {
case R.id.search_suggestion_1:
//code here
break;
case R.id.search_suggestion_2:
//code here
break;
case R.id.search_suggestion_3:
//code here
break;
}
}
答案 5 :(得分:0)
public void myClickMethod(View v)
{
switch(v.getId())
{
case R.id.search_suggestion_1:
//code here
break;
case R.id.search_suggestion_2:
//code here
break;
case R.id.search_suggestion_3:
//code here
break;
default: break;
}
}