嗨我试图获取我在每个线性布局上设置的ID,而是我得到
android.widget.LinearLayout@41032a40或类似的东西对我来说没什么用。
我已将id设置为row1,这就是我想要返回的内容。
我确定我以前做过类似的事情,所以我无法弄清楚为什么它会返回上面的内容。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/row1"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@android:color/black"
android:onClick="xmlClickHandler" />
<LinearLayout
android:id="@+id/row2"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@android:color/white"
android:onClick="xmlClickHandler" />
<LinearLayout
android:id="@+id/row3"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@android:color/black"
android:onClick="xmlClickHandler" />
<LinearLayout
android:id="@+id/row4"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@color/white"
android:onClick="xmlClickHandler" />
<LinearLayout
android:id="@+id/row5"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@color/yellow"
android:onClick="xmlClickHandler" />
<LinearLayout
android:id="@+id/row6"
android:layout_width="fill_parent"
android:layout_height="30dip"
android:background="@color/blue"
android:onClick="xmlClickHandler" />
public void xmlClickHandler(View v) {
Log.d("CLICK ROW", String.valueOf(v));
}
答案 0 :(得分:14)
可以使用v.getID()
检查视图ID您可以简单地检查为
if(v.getId()==R.id.row1)
并相应地执行您想要的任务。
答案 1 :(得分:9)
你可以这样做:
public void xmlClickHandler(View v) {
String viewID = getResources().getResourceName(v.getId());
}
而且你必须解析结果字符串。
答案 2 :(得分:5)
尝试设置android:tag="row1"
并使用Log.d("CLICK ROW", String.valueOf(v.getTag()));
打印ID。
答案 3 :(得分:2)
使用v.getId()
来获取ID
答案 4 :(得分:1)
Log.d("CLICK ROW", String.valueOf(v.getId()));
v
是View类的一个实例,您可以使用getId()
方法获取View的ID。
答案 5 :(得分:1)
简单解决方案,仅是一行代码。它可以从视图中获取任何ID。
String id=id=getResources().getResourceEntryName(view.getId());
答案 6 :(得分:0)
我刚刚看到另一个问题,显然你不能将id作为字符串返回。