【问题标题】:android reading from 2 different filesandroid从2个不同的文件中读取
【发布时间】:2017-10-17 22:07:47
【问题描述】:

在我的 android 应用程序中,我试图从 2 个不同的文件中设置 2 个文本视图名称,但由于某种原因,第一个文本视图被设置为第二个文件信息“成分 2”,而第二个文本视图根本没有显示?我设置和打开文件的方式有问题吗?

public class GroceriesActivity extends AppCompatActivity {
    public TextView groceryname1, groceryname2, groceryname3, groceryname4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_groceries);


        groceryname1 = (TextView) findViewById(R.id.grocery1);
        groceryname2 = (TextView) findViewById(R.id.grocery2);
        groceryname3 = (TextView) findViewById(R.id.grocery3);
        groceryname4 = (TextView) findViewById(R.id.grocery4);

        String message;
        String message2;
        FileInputStream fis1 = null;
        FileInputStream fis2 = null;
        FileInputStream fis3 = null;
        FileInputStream fis4 = null;
        try {
            fis1 = openFileInput("Ingredient1");
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        InputStreamReader isr = new InputStreamReader(fis1);
        BufferedReader br = new BufferedReader(isr);
        StringBuffer sb = new StringBuffer();
        try {
            while ((message = br.readLine()) != null) {
                sb.append(message);
            }
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        groceryname1.setText(sb.toString());
        try {
            fis1.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            fis2 = openFileInput("Ingredient2");
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }

        InputStreamReader isr2 = new InputStreamReader(fis2);
        BufferedReader br2 = new BufferedReader(isr2);
        StringBuffer sb2 = new StringBuffer();
        try {
            while ((message2 = br2.readLine()) != null) {
                sb2.append(message2);
            }
        } catch (IOException e1) {
            e1.printStackTrace();
        }
        groceryname2.setText(sb2.toString());
        try {
            fis2.close();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

所以 tldr 我试图将 textview1 设置为成分 1,将 textview2 设置为成分 2,但现在 textview1 被设置为成分 2,而 textview2 没有被更改

编辑:修复该错误后,我现在将 textview1 和 textview2 设置为第一个成分

【问题讨论】:

标签: java android file-io


【解决方案1】:

尝试改变

sb.append(message2);

sb2.append(message2);

【讨论】:

  • 在我更改后,它将来自成分 1 的文本放在 textview 1 和 textviww 2 中
  • 你确定这两种成分不一样吗?
猜你喜欢
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多