Android 活动变量传递不起作用

Android 活动变量传递不起作用,android,android-intent,Android,Android Intent,我试图传递一个变量“name”,它是一个字符串,从一个活动传递到另一个活动,但由于某种原因,当我从intent获得它时,它为null,intent部分的代码如下,从List_活动传递到OpenList活动 列出你的活动类别 @Override protected void onListItemClick(ListView l, View v, int pos, long id) { // TODO Auto-generated method stub super.onListIt

我试图传递一个变量“name”,它是一个字符串,从一个活动传递到另一个活动,但由于某种原因,当我从intent获得它时,它为null,intent部分的代码如下,从List_活动传递到OpenList活动

列出你的活动类别

@Override
protected void onListItemClick(ListView l, View v, int pos, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, pos, id);
    Intent intent = new Intent(this, OpenList.class);
    intent.putExtra("name", ListNames[pos]);
    System.out.println("Passing " + ListNames[pos] + " as listname");
    startActivity(new Intent(this, OpenList.class));
}
OpenList.class

//gets list name
    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        name = extras.getString("name");
        System.out.println(name+ " has been passed as the name");
    }else{
        System.out.println("Return is null");
    }
它总是返回“returnisnull”

试试这个

改变这个

@Override
protected void onListItemClick(ListView l, View v, int pos, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, pos, id);
    Intent intent = new Intent(this, OpenList.class);
    intent.putExtra("name", ListNames[pos]);
    System.out.println("Passing " + ListNames[pos] + " as listname");
    startActivity(new Intent(this, OpenList.class));                // correction here
}

这意味着这
startActivity(新的意图(这个,OpenList.class))
起始触觉(意图)

那么您就不会发送
包了
,所以请按下面的方式发送

Intent intent = getIntent();
if (intent != null) {
    name = intent.getStringExtra("name");
    System.out.println(name+ " has been passed as the name");
}else{
    System.out.println("Return is null");
}
Intent intent = getIntent();
if (intent != null) {
    name = intent.getStringExtra("name");
    System.out.println(name+ " has been passed as the name");
}else{
    System.out.println("Return is null");
}