Governorates_nameedt(EditText)をクリックするとAlertDialogでGovernorates_namesを表示し、state_namesの値を選択した値に応じてArrays.asListが変更されます。 state_nameedt(EditText)の.create().show();
にエラーがあります。androidの配列の値を変更する
私のコード
Governorates_names = Arrays.asList("Ad Dakhiliyah"
,"Ad Dhahirah"
,"Al Batinah North"
,"Al Batinah South"
,"Al Buraimi"
,"Al Wusta"
,"Ash Sharqiyah North"
,"Ash Sharqiyah South"
,"Dhofar"
,"Muscat"
,"Musandam");
if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Ad Dakhiliyah"))
state_names = Arrays.asList("Nizwa","Samail","Bahla","Al Hamra","Manah","Izki","Adam" );
else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Ad Dhahirah"))
state_names = Arrays.asList("Ibri","Yanqul","Dhank");
else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Al Batinah North")){
state_names = Arrays.asList("Sohar","Shinas","Liwa","Saham","Al Khaburah","Suwayq");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Al Batinah South")){
state_names = Arrays.asList("Nakhal","Wadi Al Maawil","Al Musanaah","Barka","Rustaq");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Al Buraimi")){
state_names = Arrays.asList("Al Buraimi","Mahdah","Al Sinas");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Al Wusta")){
state_names = Arrays.asList("Haima","Duqm","Mahout","Al Jazur");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Ash Sharqiyah North")){
state_names = Arrays.asList("Ibra","Al-Mudhaibi","Bidiyah","Wadi Bani Khaled","Dema Wa Thaieen","Al Qabil");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Ash Sharqiyah South")){
state_names = Arrays.asList("Masirah","Sur","Jalan Bani Bu Hassan","Jalan Bani Bu Ali","Al Kamil Wal Wafi");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Dhofar")){
state_names = Arrays.asList("Salalah","Taqah","Mirbat","Thumrait","Sadah","Rakhyut","Dhalkut","Muqshin","Shalim and the Hallaniyat Islands","Al-Mazyona");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Dhofar")){
state_names = Arrays.asList("Muttrah","Bawshar","Seeb","Al Amarat","Qurayyat");
}else if(String.valueOf(Governorates_nameedt.getText().toString()).equals("Musandam")){
state_names = Arrays.asList("Khasab","Bukha","Daba Al Bayah","Madha");
}
final ArrayAdapter<String> Governorates_name_Opt = new ArrayAdapter<>(personal_info.this, android.R.layout.simple_spinner_dropdown_item, Governorates_names);
final List<String> finalOpt1 = Governorates_names;
Governorates_nameedt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(personal_info.this)
.setTitle("Select ")
.setAdapter(Governorates_name_Opt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Governorates_nameedt.setText(finalOpt1.get(which).toString());
dialog.dismiss();
}
}).create().show();
}
});
final ArrayAdapter<String> state_name_Opt = new ArrayAdapter<>(personal_info.this, android.R.layout.simple_spinner_dropdown_item, state_names);
final List<String> finalOpt2 = state_names;
state_nameedt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new AlertDialog.Builder(personal_info.this)
.setTitle("Select ")
.setAdapter(state_name_Opt, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
state_nameedt.setText(finalOpt2.get(which).toString());
dialog.dismiss();
}
}).create().show();
}
});
私のエラー
5月13日16:42:25.720 8190から8190/com.example.hamdaalissaei.final_flahのW/dalvikvm:1 =スレッドID:キャッチされない例外(グループ= 0xa61a1908)で終了するスレッド 05-13 16:42:25.724 8190-8190/com.example.hamdaalissaei.final_flah E/AndroidRuntime:致命的例外:メイン java.lang.NullPointerException android.widget.ArrayAdapter.getCount(ArrayAdapter.java:330) android.widget.ListView.setAdapter(ListView.java:462) android.support.v7.app.AlertController.setupView(AlertController.java:538) ) android.support.v7.app.AlertController.installContent(AlertController.java:226) android.support.v7.app.AlertDialog.onCreate(AlertDialog.java:257) android.app.Dialog.dispatchOnCreate (Dialog.java:355) android.app.Dialog.show(Dialog.java:260) at com.example.hamdaalissaei.final_flah.personal_info $ 6.onClick(personal_info.java:247) android.vi ew.View.performClick(View.java:4204) android.view.View $ PerformClick.run(View.java:17355) (android.os.Handler.handleCallback(Handler.java:725) 、android)にあります。 os.Handler.dispatchMessage(Handler.java:92) (android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang。メソッド.invokeNative(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793) com.android.inでternal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(ネイティブメソッド) 05-13 16:42:25.724 466-835/system_process W/ActivityManager:強制終了アクティビティcom。
.personal_info example.hamdaalissaei.final_flahは/あなたのスタックトレースから、この問題
を防ぐために新しい
List<String>()
最初にstate_names
を開始スタックトレース – Mercatoを貼り付けてください@ Mercatoは私の質問を更新します – Hamda