将textview设置为从另一个活动传递的字符串

时间:2018-01-15 18:07:35

标签: java android android-intent android-activity

我在第一个活动(apples.java)中有一个edittext。用户可以使用edittext编写任何内容,该编辑文本在单击按钮时作为字符串传递给第二个活动(Bacon.java)。第二个活动的文本视图写为培根。从第一个活动传递字符串时,培根将替换为传递的字符串/文本 发生了什么:当使用editText写入任何内容并单击按钮进入第二个活动时,培根会消失。
我的要求是,如果没有使用EditText传递任何东西,只点击按钮,培根不应该被替换。如果通过了什么,它应该取代培根。

apples.java

{{1}}

Bacon.java

{{1}}

This is first activity

This is second activity

3 个答案:

答案 0 :(得分:1)

Do this:

if (!TextUtils.isEmpty(applesMessage))    
    baconText.setText(applesMessage);

答案 1 :(得分:0)

In apples.java write if(applesInput.getText().toString().equals(""); { i.putExtra("applesMessage",userMessage);} just add this..

答案 2 :(得分:0)

你的问题是Bundle不是null,所以条件永远不会满足。没有设置字符串意味着你的包是空的

将其更改为

 final TextView baconText = (TextView) findViewById(R.id.baconText);

    Bundle applesData = getIntent().getExtras();
    if(applesData!=null){
     String applesMessage =applesData.getStrng("applesMessage")
     if(applesMessage ==null ||applesMessage .trim().equals("")){ //trim to delete spaces 
        Toast.makeText(Bacon.this, "Love u", Toast.LENGTH_SHORT)
                .show();
        return;
           }

    baconText.setText(applesMessage);
    }

}