1

我想在第一个活动中单击按钮,并在第二个活动中将原始资源中的文本加载到 textview 中。我认为它可能通过方法putextragetextra我的 textview 文本阅读器代码是这样的。

 TextView textView = (TextView)findViewById(R.id.textview_data);

    String data = readTextFile(this, R.raw.books);
    textView.setText(data);
}

public static String readTextFile(Context ctx, int resId)
{
    InputStream inputStream = ctx.getResources().openRawResource(resId);

    InputStreamReader inputreader = new InputStreamReader(inputStream);
    BufferedReader bufferedreader = new BufferedReader(inputreader);
    String line;
    StringBuilder stringBuilder = new StringBuilder();
    try 
    {
        while (( line = bufferedreader.readLine()) != null) 
        {
            stringBuilder.append(line);
            stringBuilder.append('\n');
        }
    } 
    catch (IOException e) 
    {
        return null;
    }
    return stringBuilder.toString();
}

任何人都可以帮助我

4

2 回答 2

2

请使用以下代码从原始文件夹中读取文件数据。

try {
    Resources res = getResources();
    InputStream in_s = res.openRawResource(R.raw.books);

    byte[] b = new byte[in_s.available()];
    in_s.read(b);
    textView.setText(new String(b));
} catch (Exception e) {
    // e.printStackTrace();
    textView.setText("Error: can't show help.");
}
于 2012-10-19T07:14:39.840 回答
1

因此,在第一个活动中单击按钮时,您将调用一个意图开始第二个活动。如果你想在你的第一个活动中选择资源 ID,那么我建议你使用类似这样的东西

Button button = (Button) fragmentView.findViewById(R.id.button_id);
    button.setOnClickListener(new OnClickListener() {

        public void onClick(View view) {
            Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
            intent.putExtra("resource_id", R.raw.books); //R.raw.books or any other resource you want to display
            startActivity(intent);
        }
    });

然后在你的第二个活动中,你会得到这样的数据

int resourceId = getIntent().getIntExtra("resource_id");

你用这个resourceId代替R.raw.books

于 2012-10-19T07:12:27.033 回答