Android 根据上一活动中按下的按钮,读取不同的.txt文件

Android 根据上一活动中按下的按钮,读取不同的.txt文件,android,android-activity,text,textview,extras,Android,Android Activity,Text,Textview,Extras,我试图在第二个活动文本视图中读取不同的.txt文件(在原始文件夹中),具体取决于在MainActivity(上一个活动)中按下的按钮,但它不起作用。我正在使用.putextras方法,下面是我的主要活动的代码: ImageButton but1=(ImageButton) findViewById(R.id.imageButton2); but1.setOnClickListener(new View.OnClickListener() { @Override

我试图在第二个活动文本视图中读取不同的.txt文件(在原始文件夹中),具体取决于在
MainActivity
(上一个活动)中按下的按钮,但它不起作用。我正在使用
.putextras
方法,下面是我的主要活动的代码

    ImageButton but1=(ImageButton) findViewById(R.id.imageButton2);
    but1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent int1=new Intent(MainActivity.this,SecondActivity.class);
            int1.putExtra("Thistext", "textnumberone");
            startActivity(int1);


            finish();



        }
    });

    ImageButton but2(ImageButton) findViewById(R.id.imageButton3);
    but2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent int2=new Intent(MainActivity.this,SecondActivity.class);
            int2.putExtra("Thistext", "textnumbertwo");
            startActivity(int2);


            finish();



        }
    });
这是我的第二个活动的代码

    Bundle extradata = getIntent().getExtras();


    TextView tv = (TextView)findViewById(R.id.firsttextView);
    vitautori.setText(extradata.getString("Thistext"));

    if (extradata.equals("textnumberone")) {

        String texttxt = "";
        StringBuffer sbuffer = new StringBuffer();
        InputStream is = this.getResources().openRawResource(R.raw.file);
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));

        try {

            while ((texttxt = reader.readLine()) !=null){
                sbuffer.append(texttxt + "n");

            }

            tv.setText(sbuffer);
            is.close();


        }catch(Exception e) {
            e.printStackTrace();
        }
    }

    }
}

创建
Intent
(当然是两个位置)时,我建议您尝试将类型设置为text:

int1.setType("text/plain");

查看这是否有帮助。

您当前正在将捆绑数据与中的字符串进行比较

if(extradata.equals(“textnumberone”))

这将不起作用,您必须先提取字符串数据。试试这个:

Bundle extradata = getIntent().getExtras();
String textString = extradata.getString("Thistext");
if (textString.equals("textnumberone")) {
还有一件事: 您将Bundle中的字符串设置为(我想)文本视图

setText(extradata.getString(“thistText”))


但是我在任何地方都看不到vitautori的初始化。因此,请确保它已初始化,否则将崩溃。

非常感谢您的指导,它现在可以工作了。我向你竖起大拇指,不客气。如果答案解决了您的问题,请将其标记为正确答案。