将listView行位置通过Intents传递给另一个类

时间:2011-04-13 04:50:05

标签: android android-listview android-intent

我想知道如何使用Intents将CHOICE_MODE_SINGLE列表活动(A)中的行位置(pos)值传递给另一个活动(B)? (我想更改ActivityB以显示另一个列表,具体取决于单击ActivityA中的哪一行)。这是我的代码:

    final ListView listView = getListView();
    listView.setItemsCanFocus(false);
    listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    listView.setOnItemClickListener(
             new android.widget.AdapterView.OnItemClickListener(){
                  @Override
                  public final void onItemClick(AdapterView<?> listView, View cell, int position, long id) {



                      Intent Courses = new Intent(this, ExpandableList.class);
                       Courses.putExtra(//I'm not sure what to put in here//)
             });



    private static final String[] GENRES = new String[] {"Barre","Buffumville","Hodges","Newton Hill"};

}     

谢谢:)

2 个答案:

答案 0 :(得分:1)

Courses.putExtra("position",position);

然后在下一个活动中获得位置:

getIntent.getExtras().getInt("position");

答案 1 :(得分:0)

您可以通过意图putExtra传递位置。

请参阅下面的代码。

 Intent Courses = new Intent(this, ExpandableList.class);
 Courses.putExtra("position",position)
 startActivity(Courses);

现在你可以在这样的另一个活动中获得这个值。

 getIntent.getExtras().getInt("position");

它将返回您从第一个活动传递的整数位置。