在我的Android代码中,我使用以下代码在3个textviews上实现了onclick
事件。但点击它们没有任何反应。有什么问题?
<TextView
android:id="@+id/tv1"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/menucircle"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:onClick="selectit"
android:textColor="#ffffff"
/>
public void selectit(View v)
{
Log.d("tv0","ok");
if(v.getId()==tv1.getId())
{Log.d("tv1","ok");
selectoption(1);
Log.d("tv1","ok");
}
if(v.getId()==tv2.getId())
{Log.d("tv2","ok");
selectoption(2);
}
if(v.getId()==tv3.getId())
{Log.d("tv3","ok");
selectoption(3);
}
}
答案 0 :(得分:13)
将其添加到xml中
android:clickable="true"
答案 1 :(得分:1)
您可能需要在xml
中包含此代码android:clickable="true"
或者通过代码
将Clicklistenner设置为TextViewTextView btn=(TextView) findViewById(R.id.tv1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
selectit(v);
}
});
它会自动使其可点击,因此不需要android:clickable="true"
答案 2 :(得分:1)
您可以使用以下属性在xml中设置单击处理程序:
android:clickable="true"
不要忘记clickable属性,如果没有它,则不会调用click处理程序。
main.xml中
<TextView
android:id="@+id/tv1"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/menucircle"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:onClick="selectit"
android:clickable="true"
android:textColor="#ffffff"
/>
我希望它能帮助你一切顺利
答案 3 :(得分:1)
尝试如下:
android:onClick="onClick"
android:clickable="true"
我的观点:
<TextView
android:id="@+id/click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
android:textSize="55sp"
android:onClick="onClick"
android:clickable="true"/>
主要活动:
public class MyActivity extends Activity {
public void onClick(View v) {
...
}
}