在我的应用程序中,我有一个名为 ChatActivity 的类。实际上它显示的是ListView。在 onCreate 中,我设置了类似
的布局 super.onCreate(savedInstanceState);
setContentView(R.layout.conversation_window);
conversation_window.xml 看起来像这样
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:divider="@null"
android:padding="16dp"
android:fitsSystemWindows="true">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:id="@+id/thread_listView"
android:layout_below="@+id/editText"
android:layout_weight="1" />
<View
android:id="@+id/innerLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="5dp"
android:background="#9E9E9E"
android:layout_weight="0"
android:layout_marginBottom="12dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:textStyle="bold"
android:textColor="#212121"
android:layout_marginBottom="8dp"
android:text="(1) 0/158"
android:id="@+id/character_count_textview"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="0"
android:layout_marginBottom="10dp">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/compose_editText"
android:layout_weight="1"
android:layout_marginRight="5dp"
android:hint="এখানে লিখুন..."
android:inputType="textMultiLine|textCapSentences"
android:scrollbars="vertical"
android:background="@drawable/apptheme_textfield_disabled_holo_light"
/>
<ImageButton
android:layout_width="50dp"
android:layout_height="wrap_content"
android:id="@+id/send_imageButton"
android:background="@mipmap/send_black"
/>
</LinearLayout>
对于listView的每一行,还有另一个名为 list_item_chat_message.xml 的xml,如下所示
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/CheckBox_conversation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="20dp"
android:visibility="gone" />
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="10dp"
android:orientation="vertical">
<LinearLayout
android:id="@+id/contentWithBackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@drawable/in_message_bg"
android:orientation="vertical">
<TextView
android:id="@+id/txtMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="200dp"
android:textColor="@android:color/black"
android:textSize="16sp" />
</LinearLayout>
<TextView
android:id="@+id/timeInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:padding="3dp"
android:textColor="@android:color/darker_gray" />
</LinearLayout>
list_item_chat_message.xml 中有一个CheckBox,我想在 ChatActivity 类中使用 setOnCheckedChangeListener 。但是当我写的时候这在 ChatActivity 类
中itemCheckBox = (CheckBox) findViewById(R.id.CheckBox_conversation);
抛出 null对象引用。那我怎么能在这个活动中声明这个CheckBox呢?