Android 递归startActivity()

Android 递归startActivity(),android,android-activity,Android,Android Activity,我正在为android学习开发。这是唯一的示例项目。因此,我在按钮单击事件上创建相同的活动(请参见代码)。在第一次活动之后,我可以看到带有“qwerty”文本的新活动,但在下一次单击时,文本保持不变。我希望每次点击后都能看到更多的文字(“qwerty”、“qwerty qwerty”、“qwerty qwerty qwerty”等等)。如何解释这种行为 public class MainActivity extends Activity { private TextView _textView;

我正在为android学习开发。这是唯一的示例项目。因此,我在按钮单击事件上创建相同的活动(请参见代码)。在第一次活动之后,我可以看到带有“qwerty”文本的新活动,但在下一次单击时,文本保持不变。我希望每次点击后都能看到更多的文字(“qwerty”、“qwerty qwerty”、“qwerty qwerty qwerty”等等)。如何解释这种行为

public class MainActivity extends Activity {
private TextView _textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main_layout);

    _textView = (TextView)findViewById(R.id.textView);
    Intent intent = getIntent();
    if(intent.hasExtra("str"))
    {
        _textView.setText(_textView.getText().toString() + " qwerty");
    }
}

public void onShowActivityButtonClick(View view){
    Intent intent = new Intent(this, MainActivity.class);
    intent.putExtra("str", _textView.getText().toString());
    startActivity(intent);
}
}

更换

Intent intent = new Intent(this, MainActivity.class);


试试这个。这应该有效。

修改ShowActivity按钮上的
单击方法:

public void onShowActivityButtonClick(View view){

    Intent intent = getIntent(); //Get current activity
    intent.putExtra("str", _textView.getText().toString());

    finish(); //Close current activity
    startActivity(intent); //Restart current activity
}

试着换掉这条线

_textView.setText(_textView.getText().toString() + " qwerty");


更改此代码:

if(intent.hasExtra("str"))
{
  _textView.setText(_textView.getText().toString() + " qwerty");
}
intent.putExtra("str", _textView.getText().toString());
为此:

if(intent.hasExtra("str"))
{
   _textView.setText(intent.getStringExtra("str"));
}else{
   _textView.setText("qwerty");
}
intent.putExtra("str", tv.getText().toString()+" qwerty");


更改此代码:

if(intent.hasExtra("str"))
{
  _textView.setText(_textView.getText().toString() + " qwerty");
}
intent.putExtra("str", _textView.getText().toString());
为此:

if(intent.hasExtra("str"))
{
   _textView.setText(intent.getStringExtra("str"));
}else{
   _textView.setText("qwerty");
}
intent.putExtra("str", tv.getText().toString()+" qwerty");

试着这样检查:if(intent.getStringExtra(“str”)!=null)@Sartre:你看到我的答案了吗?对不起,我忘了这个问题。不,它不起作用。在这种情况下,即使是新的MainActivity也不会启动。