ClassCastException:android.widget.ListView无法强制转换为android.widget.AdapterView.OnItemClickListener

时间:2014-12-27 23:57:04

标签: android listview

我正在尝试让列表视图中的项目可以点击,但我在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

1 个答案:

答案 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) {

     }
  });