将意图传递给下一个活动

时间:2013-12-28 18:26:55

标签: android listview android-intent position

我正在尝试在字符串中保存listview选定位置并传递给下一个活动,如下所示:

我已将listview默认选项设置为第一行,方法是将其设置为:

lv1.setAdapter(adapter);
lv1.setItemChecked(0, true);
lv1.setSelection(0);

声明变量:

int myposition;
String myvalue;

LIstView ItemClick:

lv1.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position,
                long id) {
          myposition=position;
          myvalue = String.valueOf(myposition);
        }
});

这是我使用按钮点击将其移动到下一个活动的方式:

btnNxt.setOnClickListener(new OnClickListener() {
@Override
        public void onClick(View v) {
            Intent i = new Intent(getApplicationContext(),Step3Activity.class);
            // Pass a single position
            i.putExtra("selposition", myvalue);
            // Open SingleItemView.java Activity
            startActivity(i);
           }
});

这就是我对newActivity的意图:

Intent i = getIntent();
// Get a single position
position = i.getExtras().getInt("selposition");
myvalue = String.valueOf(position);
Toast.makeText(getBaseContext(),
            myvalue,
            Toast.LENGTH_SHORT).show();

但它总是给我位置'0'。所以我通过设置第一行的默认选择得到这个?有人可以用这个澄清我吗?

1 个答案:

答案 0 :(得分:1)

尝试这样的方法来获得价值:

position = Integer.parseInt(i.getExtras().getString("selposition"));

希望它能奏效。