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



我正在构建一个应用相同的活动,但文本视图"嗨,好友"。我还不放下按钮,因为我不知道该如何继续。我正在使用Android Studio。

这是我的Java代码,从资产中获取TXTFILE。

@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);
    }
}

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

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

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

然后,在第二个活动中,您会以这样的方式检索文本:

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

查看即时通讯使用您在第一个活动(text_key)上使用的确切键,否则您不会找到文本。

最终设置文本。

在启动活动时将文本作为putextra传递,然后根据您的过滤器进行活动插曲并显示到文本视图。

尚不清楚您要实现什么,您想要两个文本视图或同一文本视图和两个不同的文本吗?

尽管如此,我要为这两个情况回答。

如果要拥有多个文本视图,则使用setVisibilty方法查看或隐藏其他文本视图为:

// 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!");
         }
  });

否则,您可以简单地覆盖文本视图中的字符串,这要简单得多。就像您对先前的文本视图一样。

相关内容

  • 没有找到相关文章

最新更新