程序需要读取显示在listview中的某一行的条目内容(文字),传到另外一个activity。编写代码如下,运行会出错。
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) 
{
intent.setClass(Area.this, Map.class); 
Person item = (Person) listView.getItemAtPosition(arg2);
bundle.putString("name", item.getName());
intent.putExtras(bundle);
startActivity(intent);
Area.this.finish();
}
测试时发现问题出在Person item = (Person) listView.getItemAtPosition(arg2);这一句,请问该如何解决

解决方案 »

  1.   

    Person item = (Person) listView.getItemAtPosition(arg2);
    这个肯定会错啊
    要这样,View view = listview.getChildAt(arg2);
    然后TextView tv = view.findViewbyId(R.id.XXXX);
    tv.getText();
    这样的,你做下
      

  2.   

    楼主首先保证Person item = (Person) listView.getItemAtPosition(arg2);
    这里能取到item的getName如果可以的话,你后面写的代码没有问题,所以出错也是你在这里赋值问题
      

  3.   

    1L,现在发现一个问题就是如果点击listview中需要下滑才能看到的条目,会导致出错发现问题语句在TextView tv = view.findViewbyId(R.id.XXXX);这一句。。又不懂了....可否指点一下
      

  4.   

    listview.getchildat(index)
    这句是拿到你那个item的整个view包括上面的任何子view
    然后在这个大view里面在找每个小view明白么?
      

  5.   

    明白啊。我将view中的某个textview取出来。。这没问题吧...但是像我上面说的一样,将listview下拉后获取view中的子view就会出问题