Android微调器从文件中获取值

时间:2014-10-26 19:57:47

标签: android list arraylist spinner text-files

我有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);
    }
}

1 个答案:

答案 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();