Android intent.getStringExtra始终为;空";
以下是将字符串添加到intent.putExtra的方式:Android intent.getStringExtra始终为;空";,android,android-intent,null,android-intentservice,extra,Android,Android Intent,Null,Android Intentservice,Extra,以下是将字符串添加到intent.putExtra的方式: final ListView listView = findViewById(R.id.userListView); final ArrayList<String> usernames = new ArrayList<>(); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @
final ListView listView = findViewById(R.id.userListView);
final ArrayList<String> usernames = new ArrayList<>();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(getApplicationContext(), UserFeedActivity.class);
String username = usernames.get(i);
intent.putExtra("username", username.toString() );
Log.i("test","username: "+username);
startActivity(intent);
}
});
日志。我给了我:“…I/test2:username:null”
我也试过了
Bundle bundleEx = intent.getExtras();
Log.i("trdt3","extras: "+bundleEx);
日志。我给了我:“…I/test3:extras:null”
我做错什么了吗?你在其他活动中创造了一个全新的意图,因此没有额外的内容。在新活动中,您需要调用
getIntent()
,如下所示
Intent intent = getIntent(); // don't use 'new Intent()' here
String username = intent.getStringExtra("username");
Log.i("test3","username: "+username);
请注意,调用getStringExtra
仅在内部调用getExtras()
,然后调用getString(…)
,因此这与使用getIntent().getExtras().getString(…)
相同
Intent intent = getIntent(); // don't use 'new Intent()' here
String username = intent.getStringExtra("username");
Log.i("test3","username: "+username);