Android 根据上一活动中按下的按钮,读取不同的.txt文件
我试图在第二个活动文本视图中读取不同的.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
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的初始化。因此,请确保它已初始化,否则将崩溃。非常感谢您的指导,它现在可以工作了。我向你竖起大拇指,不客气。如果答案解决了您的问题,请将其标记为正确答案。