每当我从checkedId收到id时,即使我已经为xml文件中的每个radiobutton声明了一个id,它也是一个非常长的int(例如2131034187)。我不知道是什么导致这个或如何解决它。这是我的代码。
XML布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_gravity="right" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<RadioButton
android:id="@+id/radio4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<RadioButton
android:id="@+id/radio5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="" />
</RadioGroup>
Java类
holder.rbg = (RadioGroup)convertView.findViewById(R.id.radioGroup1);
convertView.setTag(holder);
holder.rbg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Log.d("id", checkedId+"");
selections[position] = checkedId;
}
});
错误日志
11-27 12:20:37.701: D/AbsListView(8560): unregisterIRListener() is called
11-27 12:20:37.711: D/AbsListView(8560): unregisterIRListener() is called
11-27 12:20:37.756: D/AbsListView(8560): unregisterIRListener() is called
11-27 12:20:37.791: D/AbsListView(8560): unregisterIRListener() is called
11-27 12:20:37.916: D/AbsListView(8560): onVisibilityChanged() is called, visibility : 4
11-27 12:20:37.916: D/AbsListView(8560): unregisterIRListener() is called
11-27 12:20:38.921: D/id(8560): 2131034186
11-27 12:20:49.491: D/id(8560): 2131034188
答案 0 :(得分:0)
在R.java中生成id是动态生成的类,在构建过程中创建以动态识别所有资产(从字符串到android小部件到布局),用于Android应用程序中的java类。
此类包含视图的所有ID,并且不能为1个字符长。
希望这有帮助。