2014-01-17 59 views
-1

我有兩個同一列表項目的活動我想選擇第一個列表項目值,然後轉到另一個活動列表項目值在同一位置。我的代碼是:在OtherActivity的onCreate方法我有兩個相同列表項目的活動我想選擇第一個列表項目值

@Override 
public void onItemClick(AdapterView<?> parent, View view, int position,long id) { 

    String value = values[position]; 
    Intent intent = new Intent (this, OtherActivity.class); 
    intent.putExtra(VALUE_EXTRA_NAME, value); 
    intent.putExtra(POSITION_EXTRA_NAME, position); 
    startActivity(intent); 
} 

然後,檢索字符串值,然後的位置:

public class First extends Activity{ 

    ListView lv; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.first); 

     lv=(ListView)findViewById(R.id.listView1); 
     String[] values = new String[] {"aa","bb","cc","dd","ee","ff","gg","hh","ii","jj","kk","ll","mm","nn","oo","pp","qq","rr","ss","tt"}; 

     ArrayAdapter<String>ad=new ArrayAdapter(this,android.R.layout.simple_list_item_1,values); 
     lv.setAdapter(ad); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 

       if(id==1) { 
       } 
      } 
     }); 
    } 
} 

回答

0

如果我知道你想正確的東西,在你的OnItemClickListener,你可以這樣做被點擊項目(你可以滾動到相同的位置爲setSelection(INT位置):

Intent intent = getIntent(); 
String value = intent.getStringExtra(VALUE_EXTRA_NAME); 
int positionClicked = intent.getIntExtra(POSITION_EXTRA_NAME,0); 
listView.setSelection(positionClicked); 
// do something with the String value 
+0

意圖不是去到另一個活動POSITION_EXTRA_NAME,VALUE_EXTRA_NAME如何獲取列表的VALU這個代碼不工作 – user3066085

+0

我真的不明白你的意思,對不起......無論如何,我已成功使用過這種模式數百次,所以我需要更多信息,而不僅僅是「此代碼無法正常工作」,以幫助您解決您的問題... – 2Dee

0

onItemClick添加

Intent intent = new Intent(First.this, NextActivity.class); 
intent.putExtra("position", position); 
startActivity(intent); 

NextActivity.class

int position; 
Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    position= extras.getInt("position"); 
} 
yourListView.setSelection(position); 
+0

下一個活動哪個地方我應該加上int位置; Bundle extras = getIntent()。getExtras(); if(extras!= null){position = extras.getInt(「position」); } setSelection(position); – user3066085

+0

listview.setSelection(position);添加ListView後 – maslakoff

相關問題