0

在我的应用程序中,我有一个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); 

                }
            });
4

2 回答 2

3

问题就在这里,

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

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

改成,

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

这样,这意味着您 put Extra Data Types 的键独立于 Data 本身的类型。因此,请确保将其作为 int 传递并以 int 形式获取。

于 2012-07-20T09:15:27.310 回答
1

你正在int投入intent.putExtra("Pos", position);

但你正试图String

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

利用

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

反而

于 2012-07-20T09:17:05.737 回答