EditText setText()不起作用

时间:2018-03-28 10:25:44

标签: android android-edittext

我正在编写一个按URL下载文件的Android应用程序。为此,我需要使用EXTRA_MESSAGE从一个Activity发送链接到另一个Activity。然后应该使用setText()更改EditText,但EditText仍为空。我的代码:

EditText torul = findViewById(R.id.url);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
torul.setText(message);

在你回答之前:

torul.setText(message, TextView.BufferType.EDITABLE);

尝试过,没有工作......

我如何添加我的EXTRA_MESSAGE:

hl.setOnItemClickListener(new AdapterView.OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        String url = String.valueOf(((TextView) view).getText());
        start(url);
    }
});
private void start(String url) {
    Intent copy = new Intent(this, MainActivity.class);
    copy.putExtra(EXTRA_MESSAGE, url);
    startActivity(copy);
}

3 个答案:

答案 0 :(得分:2)

问题是在onCreate()方法中调用了setText(),这是创建活动时调用的第一个方法。设置文本应该在onResume()方法中完成。这解决了这个问题。

答案 1 :(得分:0)

而不是:

String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

在第二项活动中使用此方法:

String message = getIntent().getExtras().getString(MainActivity.EXTRA_MESSAGE);

答案 2 :(得分:0)

我认为这是问题:

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

您必须提供第二项活动的背景,因此它应该是:

Intent copy = new Intent(MainActivity.this, YourSecondActivity.class);