在Android中的LIstview位置

时间:2012-07-20 09:12:36

标签: android listview

在我的应用程序中,我有一个listview。我必须将行的位置单击到下一个屏幕。但它显示为空...请帮助我......

这是我的listview代码:

 lv.setOnItemClickListener(new OnItemClickListener() 
            {
              public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {
                    intent.putExtra("Pos", position);
                  }
            });    

我的另一个屏幕,我得到这个位置:

 save.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View arg0) 
                {
                    Intent intent=getIntent();
                    String pos=intent.getStringExtra("Pos");
                    System.out.println("Pos="+pos);
                    int position=Integer.parseInt(pos); 

                }
            });

2 个答案:

答案 0 :(得分:3)

问题出在这里,

String pos=intent.getStringExtra("Pos");

您正在传递一个int值,并且您正在检查String值,这显然是不正确的。

将其更改为,

int pos=intent.getIntExtra("Pos"); 

这意味着您放置额外数据类型的密钥与数据本身的类型无关。因此,请确保将其作为int传递并将其作为int。

答案 1 :(得分:1)

您将int放入intent.putExtra("Pos", position);

但是你想从

获得String
String pos=intent.getStringExtra("Pos");

使用

int pos=intent.getIntExtra("Pos"); 

代替