我想通過Listview
循環獲取EditText
值。列表視圖內訪問元素給出java.lang.NullPointerException
這是我獲得Textview
值碼:
View list_v = null;
ListView listView = (ListView) findViewById(R.id.listViewMain);
ArrayList<String> listitems = new ArrayList<String>();
EditText et;
for (int i = 0; i < listView.getCount(); i++) {
list_v = listView.getChildAt(i);
et = (EditText) list_v.findViewById(R.id.editText_a);
listitems.add(et.getText().toString());
}
和我的XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<TextView
android:id="@+id/code"
android:layout_width="0dp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_weight="1"
android:gravity="center"/>
<TextView
android:id="@+id/kcode_lbl"
android:layout_width="0dp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout03"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
>
<EditText
android:id="@+id/editText_a"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:ems="10"
android:layout_weight="1" >
</EditText>
<TextView
android:id="@+id/editText_lbl"
android:layout_width="0dp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"
android:textSize="15dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/date_value"
android:layout_width="0dp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:id="@+id/date_lbl"
android:layout_width="0dp"
android:textColor="@android:color/black"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="5dp">
<LinearLayout
android:id="@+id/LinearLayout02"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:paddingBottom="10dp">
<AutoCompleteTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/code_txt"
android:layout_weight="0.25"
android:digits=""
android:inputType="number"
android:focusable="true">
<requestFocus />
</AutoCompleteTextView>
</LinearLayout>
<ListView
android:id="@+id/listViewMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"
>
</ListView>
</LinearLayout>
問題是,當我運行代碼它在這行代碼上給出java.lang.NullPointerException
:
list_v.findViewById(R.id.editText_a)
我是否應該重複執行LinearLayout
?
是你的自定義XML文件?你有充氣嗎? – Piyush
這是我的listview xml和im在我唯一的活動中使用它。 在活動im使用公共無效onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); - >主要是我把我的列表視圖的地方 –
那麼該文件中的列表視圖在哪裏?只有當您將它們充填到自定義適配器或列表適配器類中時,才能訪問此視圖。 – Piyush