Java AlertDialog未刷新数据 public void setFileName(字符串inMake,字符串inModel){ //设置微调器以获取年份 filename=filename.concat(inMake); filename=filename.concat(inModel); filename=filename.concat(“.txt”); 喷丝头3=(喷丝头)findViewById(R.id.spinner3); 缓冲读取器; AssetManager AssetManager=MainActivity.getContext().getAssets(); List testYears=new ArrayList(); 试一试{ InputStream istr=assetManager.open(文件名); reader=新的BufferedReader(新的InputStreamReader(istr)); 弦线; 而((line=reader.readLine())!=null){ testYears.add(行); } } 捕获(IOE异常){ Log.e(“message:,e.getMessage()); } AlertDialog.Builder yearDialog=新建生成器(此); yearDialog.setTitle(“选择年份”); 最终ArrayAdapter=新的ArrayAdapter(这是android.R.layout.select\u dialog\u singlechoice,testYears); adapter.notifyDataSetChanged(); yearDialog.setAdapter(适配器,新的DialogInterface.OnClickListener(){ @凌驾 public void onClick(DialogInterface dialog,int which){ dialog.dismise(); year=Integer.parseInt(adapter.getItem(which)); Toast.makeText(getApplicationContext(), 年:“+年,祝酒词。长短)。show(); } }); AlertDialog alert=yearDialog.create(); alert.show(); }
我正试图通过alertdialog检索用户选择。它用于arrayAdapter的数组基于从活动外部传递的函数(string inmake、string inmodel)的输入。这种方法似乎工作得很好——但只是第一次。如果我向该方法发送新的字符串信息,它不会在alertdialog中显示任何选项Java AlertDialog未刷新数据 public void setFileName(字符串inMake,字符串inModel){ //设置微调器以获取年份 filename=filename.concat(inMake); filename=filename.concat(inModel); filename=filename.concat(“.txt”); 喷丝头3=(喷丝头)findViewById(R.id.spinner3); 缓冲读取器; AssetManager AssetManager=MainActivity.getContext().getAssets(); List testYears=new ArrayList(); 试一试{ InputStream istr=assetManager.open(文件名); reader=新的BufferedReader(新的InputStreamReader(istr)); 弦线; 而((line=reader.readLine())!=null){ testYears.add(行); } } 捕获(IOE异常){ Log.e(“message:,e.getMessage()); } AlertDialog.Builder yearDialog=新建生成器(此); yearDialog.setTitle(“选择年份”); 最终ArrayAdapter=新的ArrayAdapter(这是android.R.layout.select\u dialog\u singlechoice,testYears); adapter.notifyDataSetChanged(); yearDialog.setAdapter(适配器,新的DialogInterface.OnClickListener(){ @凌驾 public void onClick(DialogInterface dialog,int which){ dialog.dismise(); year=Integer.parseInt(adapter.getItem(which)); Toast.makeText(getApplicationContext(), 年:“+年,祝酒词。长短)。show(); } }); AlertDialog alert=yearDialog.create(); alert.show(); },java,android,Java,Android,我正试图通过alertdialog检索用户选择。它用于arrayAdapter的数组基于从活动外部传递的函数(string inmake、string inmodel)的输入。这种方法似乎工作得很好——但只是第一次。如果我向该方法发送新的字符串信息,它不会在alertdialog中显示任何选项 任何帮助都将不胜感激。请在加载适配器后使用notifyDataSetChange()。@bhunubaba My bad,我在加载适配器后移动了notifyDataSetChanged(),结果是一样的。
任何帮助都将不胜感激。请在加载适配器后使用notifyDataSetChange()。@bhunubaba My bad,我在加载适配器后移动了notifyDataSetChanged(),结果是一样的。上传代码一的代码行,首先填充适配器,然后更新适配器。
public void setFileName(String inMake, String inModel) {
//sets spinner to get year
filename = filename.concat(inMake);
filename = filename.concat(inModel);
filename = filename.concat(".txt");
spinner3 = (Spinner) findViewById(R.id.spinner3);
BufferedReader reader;
AssetManager assetManager = MainActivity.getContext().getAssets();
List<String> testYears = new ArrayList<String>();
try {
InputStream istr = assetManager.open(filename);
reader = new BufferedReader(new InputStreamReader(istr));
String line;
while((line = reader.readLine()) != null) {
testYears.add(line);
}
}
catch (IOException e){
Log.e("message: ",e.getMessage());
}
AlertDialog.Builder yearDialog = new Builder(this);
yearDialog.setTitle("Select Year");
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_singlechoice, testYears);
adapter.notifyDataSetChanged();
yearDialog.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
year = Integer.parseInt(adapter.getItem(which));
Toast.makeText(getApplicationContext(),
"Year : " + year, Toast.LENGTH_SHORT).show();
}
});
AlertDialog alert = yearDialog.create();
alert.show();
}