如何从clickview获取对象的详细信息

时间:2013-10-12 11:59:58

标签: android android-listview

大家好我是stackoverflow的新手,也是关于android开发的。

这是我的问题伙伴:我有一个来自jsoncall的结果,它是一个包含一系列对象的数组,都具有它们的属性。我希望listview出现在包含-object.name -s的活动中。当我点击一个listitem时,所选项目的-object.id-(而不是其中的对象,而不是位置,但是存储在mysql中的对象id,我有jsoncall)被发送给另一个活动,然后将显示所有对象详细信息。它也可以发送整个对象,这样我就不必在第二个活动中调用json来获取详细信息(可能)。

这就是我想要的。我试图在没有自定义类的情况下完成所有操作,但失败了。所以我也使用一个名为Event的类进行了一些测试。 这是:     ArrayList event_name = new ArrayList();

try{

jArray = new JSONArray(result);
JSONObject json_data=null;
Event event;

for(int i=0;i<jArray.length();i++){

    json_data = jArray.getJSONObject(i);
    event = new Event (json_data.getInt("IDEvent"), json_data.getString("NameEvent"));      

    event_name.add(event.getName());

    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.textViewList, event_name);
    listView.setAdapter(arrayAdapter);

    listView.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView <?> parent, View view, int position, long id){  ....problem is here.... }
            }//end for loop

使用此解决方案,listview正在运行,它正确显示了对象名称。但我找不到办法做onClick事件..

Event eventOut = (Event) parent.getAdapter().getItem(position);

用这个然后getID应用程序进入崩溃,如果我尝试传递整个对象。 getName()和getID()在Event类中实现。

        private int getID(){    return IDEvent; }
    private String getName(){   return NameEvent;   }

如果有人可以帮助我,我很感激!!!

1 个答案:

答案 0 :(得分:0)

试试这个

listView.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView <?> parent, View view, int position, long id){  
Event eventOut =event_name.getItem(position);
}
            }//