我正在编写一个按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);
}
答案 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);