EditText SetText()不起作用



我正在编程一个由URL下载文件的Android应用程序。为此,我需要通过Extra_message将链接从一个活动发送到另一项活动。然后,应使用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);
}

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

而不是:

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

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

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

我认为这是问题:

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

您必须提供第二个活动的上下文,因此应该是:

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

最新更新