2014-05-11 2 views
-1

하나의 활동에서 다른 활동으로 문자열 인 변수 "name"을 전달하려고합니다. 그러나 의도로부터 얻은 웬일인지 그 이유는 의도 부분에 대한 코드가 아래에 있습니다.활동 변수가 작동하지 않음

List_Activity.class

@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 활동 List_Activity에서 전달 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"); 
    } 

0 "반환은 null입니다"

답변

2

이 시도 ..

변경이 Bundle를 전송하지 않습니다 startActivity(new Intent(this, OpenList.class)); 다음

startActivity(intent);에이 그렇게

아래와 같이 얻을 즉,이

@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 
} 

@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(intent);       // correction here 
} 

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"); 
} 
관련 문제