【问题标题】:Passing intents to next activity将意图传递给下一个活动
【发布时间】:2013-12-28 18:26:55
【问题描述】:

我正在尝试将列表视图选择的位置保存在字符串中并传递给下一个活动,如下所示:

我已将列表视图默认选择设置为第一行,方法是将其设置为:

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'。那么我是通过设置第一行的默认选择来得到这个吗?有人能澄清一下吗?

【问题讨论】:

    标签: android listview android-intent position


    【解决方案1】:

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

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

    希望它会起作用。

    【讨论】:

    • @AndroidKiller-Thanks...帮助了我
    • @coder 如果它有效并帮助了你,那么你可能会考虑接受它。 :)
    猜你喜欢
    • 2020-06-03
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多