私はListView
配列からのアイテムを持っていますString[] statesList = {"Adult 1", "Adult 2","Adult 3","Child 1","Child 2","Child 1","Child 2","Child 2"};
TextView
アイテムがアダルト以外でクリックされた場合、非表示にしたいと思います。
これは、リストビューにデータを入力するために作成した関数です
protected void onCreate(Bundle savedInstanceState) {
showPassengerListView();
}
private void showPassengerListView() {
String[] passengerList ={"Adult 1", "Adult 2","Adult 3","Child 1","Child 2","Child 1","Child 2","Child 2"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, passengerList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if((passengerList[position].contains("Child"))|| (passengerList[position].contains("Infant"))){
dateofBirth.setVisibility(View.VISIBLE);
}else{
dateofBirth.setVisibility(View.GONE);
}
}
});
**passengerInformationPopup()**
}
public void passengerInformationPopup() {
final Dialog dialog= new Dialog(IweenBookingPage.this,R.style.Dialog_Fullscreen);
dialog.setContentView(R.layout.passenger_details_dialog);
String[] tittlearray ={"Mr.","Mrs.","Ms"};
Spinner tittleSpinner = (Spinner) dialog.findViewById(R.id.Tittle);
dateofBirth = (TextView)dialog.findViewById(R.id.dateofBirth);
dateofBirth.setClickable(true);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, tittlearray);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
tittleSpinner.setAdapter(dataAdapter);
dialog.show();
}
そして、私は例外を取得しています:
08-16 15:51:55.727: E/AndroidRuntime(15553): FATAL EXCEPTION: main
08-16 15:51:55.727: E/AndroidRuntime(15553): java.lang.NullPointerException
08-16 15:51:55.727: E/AndroidRuntime(15553): at com.android.iweentravel.Book$5.onItemClick(Book.java:184)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.widget.AbsListView.performItemClick(AbsListView.java:1114)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2937)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.widget.AbsListView$1.run(AbsListView.java:3695)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.os.Handler.handleCallback(Handler.java:615)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.os.Handler.dispatchMessage(Handler.java:92)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.os.Looper.loop(Looper.java:153)
08-16 15:51:55.727: E/AndroidRuntime(15553): at android.app.ActivityThread.main(ActivityThread.java:4987)
08-16 15:51:55.727: E/AndroidRuntime(15553): at java.lang.reflect.Method.invokeNative(Native Method)
08-16 15:51:55.727: E/AndroidRuntime(15553): at java.lang.reflect.Method.invoke(Method.java:511)
08-16 15:51:55.727: E/AndroidRuntime(15553): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
08-16 15:51:55.727: E/AndroidRuntime(15553): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
08-16 15:51:55.727: E/AndroidRuntime(15553): at dalvik.system.NativeStart.main(Native Method)
ListViewからどの項目がクリックされたかを確認するには? クリックした項目に基づいて、 TextView を表示/非表示にする必要があります。主な問題は、を識別する方法です。アイテムは ListView で動的になりますが、大人、子供、幼児のようになります。