我有android spinner的问题。我试图从列表中获取微调器下拉值,从文件中读取其值。 我有2个微调器。选择第一个微调器值后,第二个微调器将显示相应的值。 目前我只是从我创建的List中读取微调器值,但我想从文本文件中读取它们。
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
String foodCategory = String.valueOf(spFoodCategory.getSelectedItem());
if(foodCategory.contentEquals("Milk products")) {
List<String> list = new ArrayList<String>();
list.add("Joghurt R2.2% 100g - 76 kcal");
list.add("Cheese R24% - 332 kcal");
list.add("Milk 100ml - 56 kcal");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
dataAdapter.notifyDataSetChanged();
spFoodProduct.setAdapter(dataAdapter);
}
if(foodCategory.contentEquals("Meat and fish products")) {
List<String> list = new ArrayList<String>();
list.add("Chicken 100g - 142 kcal");
list.add("Minced meat R20% 100g - 246 kcal");
list.add("Herring 100g - 235 kcal");
list.add("Ham 100g - 130kcal");
list.add("Egg 100g - 135 kcal");
list.add("Bacon 100g - 301 kcal");
ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
dataAdapter2.notifyDataSetChanged();
spFoodProduct.setAdapter(dataAdapter2);
}
}
答案 0 :(得分:0)
您可以将所需文件放在assets
文件夹中,然后逐行阅读并添加到您的列表中。
以下是如何从资产中读取
List<String> list = new ArrayList<String>();
InputStream txt = getAssets().open("file.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(txt, "UTF-8"));
String str;
while ((str=in.readLine()) != null) {
list.add(str);
}
in.close();