0

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

这是我的问题:我有一个 jsoncall 的结果,它是一个包含一系列对象的数组,所有对象都有它们的属性。我希望一个列表视图出现在我的包含-object.name-s 的活动中。当我单击一个列表项时,所选项目的 -object.id- (而不是其中的对象,不是位置,而是存储在 mysql 中并且我使用 jsoncall 的对象 ID)有意发送给另一个活动,然后将显示所有对象详细信息。它还可以发送整个对象,这样我就不必在第二个活动中调用 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

使用此解决方案,列表视图可以正常工作,并且可以正确显示对象名称。但我找不到做 onClick 事件的方法..

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

有了这个然后 getID 应用程序就会崩溃,如果我尝试传递整个对象也是如此。getName() 和 getID() 在 Event 类中实现。

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

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

4

1 回答 1

0

尝试这个

listView.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView <?> parent, View view, int position, long id){  
Event eventOut =event_name.getItem(position);
}
            }//
于 2013-10-12T12:09:12.083 回答