2013-02-06 4 views
1

임 ..선택한 값을 다른 활동으로 전달하는 방법은 무엇입니까? 안드로이드에 새로운

임 의도로 문제에 직면 ..

내 문제는 내가 다른 활동에 사용자에게 하나 개의 활동의 문자열의 ArrayList에서 선택한 값을 전달 ... 값을 원하는입니다 ... 문자열은 JSON을 통해 데이터베이스에서 가져 왔습니다. 그리고 값이의 ArrayList에 저장됩니다 ..

을 지금은 의도를 사용하여 another..by 한 활동에서 값을 전달해야 ..

 lvForDialog = (ListView) viewList.findViewById(R.id.List_view); 
     ArrayAdapter<String> adapter = (new ArrayAdapter<String>(Nexttopic.this, R.layout.row_topic, R.id.child_row,tnamelist)); 
     lvForDialog.setAdapter(adapter);   
     lvForDialog.setOnItemClickListener(new OnItemClickListener() 
    { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position,long id)   
      {    
     Intent intent = new Intent(Nexttopic.this,Question.class);  
    intent.putExtra(TAG_TOPICNAME, tname); 

내가 TAG_TOPICNAME를 전달하려면 다른 활동으로 ... 어떤 주제 이름을 사용자가 전달하려는 이름을 선택 ...

어떻게하는가?

덕분에 많은 ..

+0

당신은이 링크를 볼 수있다 : - duggu

+0

@hcd 버튼을위한 것 ... onItemclickListener가 필요합니다 ... –

+0

내 질문에 대한 답변과 안내 ... 모두 –

답변

3

이 시도 :

i.putExtra("Name", tname); 
startActivity(i); 
첫 번째 활동에서

한 다음 두 번째 활동에 아래 코드를 추가하고 데이터를 얻을 수 있습니다.

Intent intent = getIntent(); 
String Name = intent.getExtras().getString("Name"); 

편집 : 사용이 예를 들어

@Override public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3) 
{ 
    Cursor GettName = (Cursor)viewList.getItemAtPosition(position);//Get a Cursor from the selected position to access the selected Item 
    String tname = GettName.getString(GettName.getColumnIndex(CustomerDBAdapter.KEY_TNAME)); // get approporiate String from that cursor 
    i.putExtra("Name", tname); 
    startActivity(i); 
} 
+0

나는 사용자가 선택한 값을 전달하고 싶습니다. –

+0

사용자가 무엇을 선택합니까? 이 값은 목록보기에서 예를 들어 –

+0

을 전달해야합니다. 사용자가 목록 항목을 클릭하면 onitemclick 리스너를 구현하면서 selecteditem을 가져와야합니다. 그러면 두 번째 Activity.it을 다른 구현체에서 전달할 수 있습니다. 여기서 tname은 문자열입니다. 당신은 사용자 sele로 그것을 채워 넣기 만하면됩니다. cted item –

1

당신이 후 선 아래 코드에서 누락되는 startActivity(learnintent);를 호출해야 onitemclick 리스너에서 항목을 선택하려면

Intent learnintent = new Intent(Nexttopic.this,Question.class);  
learnintent.putExtra(TAG_TOPICNAME, tname); 

그것을 사용하기 전에 상수 TAG_TOPICNAME을 정의하기를 바랍니다.

다음에 Question 액티비티에서 값에 액세스하려면 다음과 같이하십시오.

String topicName = intent.getIntent().getStringExtra(TAG_TOPICNAME); 

여기 TAG_TOPICNAME 더 잘 class Constants을 정의하고 일정이이 문자열을 넣어 두 곳에서 사용, 내가 이전의 활동에 할당 된 값과 동일합니다.

+0

아니, 난 .. 내가 무엇을 통과 해야하는 사용자가 선택하십시오 ... 제발 가이드 –

0

당신이 활동을 시작하는 데 사용하는 의도에서 signout 활동에 세션 ID를 전달하는 것이 가장 쉬운 방법 : 텐트에 대한

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
intent.putExtra("EXTRA_SESSION_ID", sessionId); 
startActivity(intent) 

docs 더 많은 정보가을 (를 보면 "Extras"섹션).

+0

내가 원하는 값을 선택하고 싶어 ... onItemclickListener에서 ... –

0

참고로 묶고 아래에 나타낸다 intent.A 샘플 코드를 전달할 수 bundles.You을 사용하여 값을 전달할 수 ....

번들 = 새로운 묶음(); data1 = Double.valueOf (myEditText.getText()).toString()); 는 의도를

Bundle b = getIntent().getExtras(); 
     noqs = b.getDouble("data1"); 
     mTvCat.setText("hhhhhh"+point+noqs); 

그리고를 형성 얻기의

bundle.putDouble("data1", data1); 

    Intent intent = new Intent(this, AnotherActivity.class); 
    intent.putExtras(bundle); 
    startActivity(intent); 
    finish(); 

예 또한 당신에 대한 좋아요 다음 정적 변수에 저장 할 수 있습니다. 또한 응용 프로그램의 어느 지점에서나 액세스 할 수 있습니다.

+0

onItemclickListener ...에서 사용자가 선택한 값을 가져오고 싶습니다 ... –

+0

값의 유형은 무엇입니까? 상수 값으로 저장할 수 있습니다. 나는 당신이 상수 값에 저장할 경우 번들을 통해 전달할 필요가 없으므로 클래스 이름을 사용하여 다른 활동에서 직접 호출 할 수 있기 때문에 이것이 도움이 될 것이라고 생각합니다. –

관련 문제