【发布时间】:2017-05-13 16:36:19
【问题描述】:
当我单击 Governorates_nameedt (EditText) 时,我有两个想要的数组,在 AlertDialog 中显示Governates_names 并根据我选择的值 state_names Arrays.asList 中的值在我运行我的代码时发生更改我在@987654321 中收到错误@ in state_nameedt (EditText)。
我的代码
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();
}
});
我的错误
05-13 16:42:25.720 8190-8190/com.example.hamdaalissaei.final_flah W/dalvikvm:threadid=1:线程以未捕获的异常退出(组=0xa61a1908) 05-13 16:42:25.724 8190-8190/com.example.hamdaalissaei.final_flah E/AndroidRuntime: 致命异常: main 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) 在 com.example.hamdaalissaei.final_flah.personal_info$6.onClick(personal_info.java:247) 在 android.view.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) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 在 dalvik.system.NativeStart.main(本机方法) 05-13 16:42:25.724 466-835/system_process W/ActivityManager:强制完成活动 com.example.hamdaalissaei.final_flah/.personal_info
请帮我解决这个问题
【问题讨论】:
-
请粘贴堆栈跟踪
-
@Mercato 更新我的问题