0

私のアプリケーションでは、がありlistviewます。クリックした行の位置を次の画面に渡す必要があります。しかし、それはnullとして表示されています...助けてください...

これが私のリストビューコードです:

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

私がこのposを取得している私の別の画面:

 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値を渡しており、明らかに正しくない文字列値をチェックしています。

に変更して、

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

これは、プットエクストラデータタイプのキーがデータ自体のタイプから独立していることを意味します。したがって、必ず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 に答える