我正在尝试让列表视图中的项目可以点击,但我在android studio上遇到这个错误,说它无法解析OnItemClickListener()
行上的符号new OnItemClickListener
并询问我是不是谈论ArrayView.onItemClickListener
。
如果我尝试扩展OnItemClickListener
并且即使我转换new (ListView) OnItemClickListener
,也会发生同样的情况。当我将鼠标悬停在它上面时,它会显示setOnItemClickListener (android.widget.AdapterView.OnItemClickListener) in adapter view cannot be applied
。
这是我到目前为止所做的事情,我尝试了另一种方式,也就是下半部分,但是这一次,错误也是括号中的this
,我继续得到{{的另一个尝试错误1}}
OnItemClickListener (andorid……
这是我尝试过的第二种方式,但仍然会在import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class Create extends ListActivity {
@Override
protected void onCreate(Bundle savedInstancesState)
{
super.onCreate(savedInstancesState);
setContentView(R.layout.create);
Cursor cursor = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
ArrayAdapter<String> list = new ArrayAdapter<String>(this, R.layout.contacts_list_item);
while(cursor.moveToNext()) {
String name = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
list.add(name);
}
ListView lstView = (ListView) findViewById(android.R.id.list);
lstView.setOnClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int pos, long ld) {
}
});
setListAdapter(list);
}
this
答案 0 :(得分:1)
您使用错误的方法分配侦听器
更改
lstView.setOnClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int pos, long ld) {
}
});
到
lstview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
}
});