0

我只是在学习如何使用 ListViews。我让它工作了,但是当有人点击一个项目时将无法响应。

我正在尝试使用 setOnItemClickListener 方法在单击项目时进行回调。但是由于 setOnItemClickListener 方法中的错误,我的代码将无法编译 r 现在我收到一个错误,指出 setOnItemClickListener 不适用于参数 OnItemClickListener();

void SetUpList()
        {

             listView = (ListView) findViewById(R.id.mylist);
             String[] values = new String[] { "Android", "iPhone", "WindowsMobile"}; 
             EventsAdapter adapter = new EventsAdapter(this, cGlobals.eventsTitle);

             // Assign adapter to ListView
             listView.setAdapter(adapter); 

    // this is whare I get the error listView.setOnItemClickListener(new OnItemClickListener() {
                        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
                            // When clicked, show a toast with the TextView text

                        }
                    });
            }
    }
4

1 回答 1

1

首先确保你已经导入了这个类:

import android.widget.AdapterView.OnItemSelectedListener;

接下来你需要这样调用setOnItemClickListener()

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override // "@Override" is required for Java 1.6, but forbidden in 1.5
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // Do Something
    }
});

或者,如果您的活动实现OnItemClickListener:您需要在onItemClick()方法之外添加onCreate()方法:

@Override
public void onCreate(Bundle savedInstanceState) {
    // Do Something
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    // Do something else
}

(当然,如果您要扩展 ListActivity 或 ListFragment,您应该覆盖onListItemClick()而不是onItemClick()像第二种方法那样。)

于 2013-01-08T00:12:22.583 回答