2011-12-15 4 views
0

ListView가 호출되고 항목이 선택되었지만 시도한 모든 것이 작동하지 않을 때 내 활동에 EdiText를 설정하려고했습니다. Main.class 버튼을 어떻게 설정하면 ListView.class가 열리고 iterm은 ListView에서 선택되고 Main.class의 EditText는 해당 값으로 설정됩니다.ListView에서 선택된 항목의 EditText를 설정 하시겠습니까?

Main.class가 :

public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      switch(arg0.getId()){ 
       case R.id.bSetListItem: 
          Intent i = new Intent(getBaseContext(), 
           PhotoDialog.class); 
        startActivityForResult(i, GET_ITEM); 
        break; 
     } 
     } 


protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     super.onActivityResult(requestCode, resultCode, data); 

     switch(requestCode) { 
      case PICK_ITEM: 
    // handle the contact result 
       Bundle extras = data.getExtras(); 
       String val = extras.getString("item"); 
       itemName.setText(val); 

       break; 
     } 
    } 

ListView.class : 여기

내 코드에서 다음 그냥있는 ListView 클래스의 공용 정적 문자열을 설정

public void onListItemClick(ListView parent, View v, int position,long id) {    
    Intent data = new Intent(this,Main.class); 
data.putExtra("key","SELECTED ITEM");  
setResult(RESULT_OK, Intent data); 
    } 
+0

어떤 오류가 발생합니까? – Pratik

+0

nm ... 나는 그것을 알아 냈다. 나는 어떤 활동을하는지 말해주지 않았다. 이 코드는 아래에서 작동합니다. '의도 i = 새로운 의도(); i.putExtra ("response", "두 번째 응답"); setResult (Activity.RESULT_OK, i); finish();' – user961389

답변

1

당신은() 메소드 마무리를 호출하여 작업을 완료해야합니다 결과에 대한 활동을 시작할 때 당신은 당신의 목록 작업을 완료되지 않았습니다

public void onListItemClick(ListView parent, View v, int position,long id) {    
    Intent data = new Intent(); 
    data.putExtra("item","SELECTED ITEM");  
    setResult(RESULT_OK, data); 
    finish(); 
} 

다른 것은 당신이 넣어 시간이 동일에게로 설정해야 어떤 열쇠이다 그 키는 시간을 얻기 위해 사용되었다

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 

    switch(requestCode) { 
     case PICK_ITEM: 
// handle the contact result 
      Bundle extras = data.getExtras(); 
      String val = extras.getString("item"); 
      itemName.setText(val); 

      break; 
    } 
} 

편집 : 당신이 연구를 위해 활동을 시작할 때, 의도로 "이"와 "Main.class가"로 설정 한

결과를 설정하고 컨텍스트 개체와 클래스 이름을 인 텐트 생성자에 설정할 필요가 없습니다. Intent() 생성자가 빈 호출이었고 결과로 설정할 데이터를 넣으십시오.

0

, 당신의 메인 클래스, 전화

itemName.setText (ListView.string);

관련 문제