1

最初のアクティビティでボタンをクリックし、2 番目のアクティビティで生のリソースから textview にテキストをロードします。putextra方法で可能だと思いますgetextra。テキストビューへの私のテキストリーダーコードはこれです。

 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

rawフォルダからファイルデータを読み取るには、以下のコードを使用してください。

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

したがって、最初のアクティビティでボタンをクリックすると、2 番目のアクティビティを開始するインテントが呼び出されます。最初のアクティビティでリソース 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);
        }
    });

次に、2番目のアクティビティで、このデータを次のように取得します

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

そして、あなたはresourceId代わりにこれを使用しますR.raw.books

于 2012-10-19T07:12:27.033 に答える