我正在尝试在字符串中保存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'。所以我通过设置第一行的默认选择得到这个?有人可以用这个澄清我吗?
答案 0 :(得分:1)
尝试这样的方法来获得价值:
position = Integer.parseInt(i.getExtras().getString("selposition"));
希望它能奏效。