单击两个不同的按钮时,如何使用不同的文本启动相同的活动?

时间:2017-11-28 16:13:58

标签: android android-activity textview assets android-studio-3.0

我正在构建一个应用程序。当我单击一个按钮时,它将启动一个带有文本“Hello world”的活动(例如.activity_sub),当点击另一个按钮时,它将启动相同的活动但不同的文本视图“hi伙伴”。 我还没按下我的按钮,因为我不知道如何继续。 我正在使用android studio。

这是我从资产中获取txtfile的java代码。

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

    try {
        InputStream is = this.getAssets().open("assetstext.txt");
        int size = is.available();
        // Read the entire asset into a local byte buffer.
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
        // Convert the buffer into a string.
        String text = new String(buffer);
        // Finally stick the string into the text view.
        TextView tv = (TextView)findViewById(R.id.assetstext);
        tv.setText(text);
    } catch (IOException e) {
        // Should never happen!
        throw new RuntimeException(e);
    }
}

3 个答案:

答案 0 :(得分:1)

在调用第二个活动时,您必须设置所需的文本,作为调用意图中的额外活动。

Intent starterIntent = new Intent(FirstActivity.class.this,SecondActivity.class)
starterIntent.putExtra("text_key", "<your text>");

“text_key”是一个查找键,可让您在下一个活动中检索文本。每个按钮都应为&lt;“您的文字”&gt;设置不同的值。当然。

然后在第二个活动中检索文本,如下所示:

String text = getIntent().getStringExtra("text_key");

看看我使用您在第一个活动(text_key)上使用的确切密钥,否则您将找不到该文本。

最后设置文字。

答案 1 :(得分:0)

在启动活动时将文本作为putextra传递,然后在onCreate of Activity getString中传递,并根据您的过滤显示到文本视图。

答案 2 :(得分:0)

目前还不清楚你想要实现什么,你想要两个文本视图或相同的textview和两个不同的文本吗?

尽管如此,我还是要回答这两种情况。

如果您想拥有多个textview,请使用setVisibilty方法查看或隐藏其他textview:

// here btn is your button and txtview1 and txtview2 are your textviews 
// objects respectively.
 btn.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v){
             txtView1.setVisibility(View.Gone);
             txtView2.setText("hi buddy!");
         }
  });

否则你可以简单地覆盖textview中的字符串,这更简单。就像你使用之前的textview一样。