Элемент ListView не доступен для Android

В этом ListView не кликабельны, я хочу выполнить действие над кликом элемента, но я не знаю, почему это не можно щелкнуть, я также проверил, что в отладке контроллер не ушел в itemclicklistener.

Файл дизайна:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <CheckBox android:id="@+id/cbSolved" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="15dp" android:layout_marginTop="20dp" android:text="Show Solved" /> <CheckBox android:id="@+id/cbMyCases" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/cbSolved" android:layout_alignBottom="@+id/cbSolved" android:layout_alignParentRight="true" android:layout_marginRight="46dp" android:text="My Cases" /> <EditText android:id="@+id/etCaseSeacrh" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/cbSolved" android:layout_marginLeft="28dp" android:ems="10" android:hint="Search" > </EditText> <ListView android:id="@+id/liCases" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/btnNewCase" android:layout_alignParentLeft="true" android:layout_below="@+id/etCaseSeacrh" android:layout_marginTop="23dp" android:clickable="true" > </ListView> <Button android:id="@+id/btnNewCase" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:text="New Case" /> </RelativeLayout> 

Это мой класс java в этом списке доступа, но не доступен для просмотра.

 public class ShowCases extends Activity{ ListView listshowcase; EditText search; ListViewAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.screen4); listshowcase = (ListView) findViewById(R.id.liCases); adapter = new ListViewAdapter(this); listshowcase.setAdapter(adapter); listshowcase.setClickable(true); listshowcase.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int arg2, long arg3) { // TODO Auto-generated method stub String name = ((TextView) view.findViewById(R.id.name)).getText().toString(); String cost = ((TextView) view.findViewById(R.id.email)).getText().toString(); String description = ((TextView) view.findViewById(R.id.mobile)).getText().toString(); String id = ((TextView) view.findViewById(R.id.id)).getText().toString(); // Starting new intent Intent in = new Intent(getApplicationContext(), CompanyDetail.class); in.putExtra("name", name); in.putExtra("email", cost); in.putExtra("ff", description); in.putExtra("fff", id); startActivity(in); } }); search=(EditText)findViewById(R.id.etCaseSeacrh); search.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // Call back the Adapter with current character to Filter } @Override public void beforeTextChanged(CharSequence s, int start, int count,int after) { } @Override public void afterTextChanged(Editable arg0) { // TODO Auto-generated method stub } }); } 

И это getview пользовательского класса Listadapter

 @Override public View getView(final int paramInt, View paramView, final ViewGroup paramViewGroup) { // TODO Auto-generated method stub LayoutInflater inflator = activity.getLayoutInflater(); if (paramView == null) { view = new ViewHolder(); paramView = inflator.inflate(R.layout.list_item, null); view.name = (TextView) paramView.findViewById(R.id.name); view.email = (TextView) paramView.findViewById(R.id.email); view.mobile = (TextView) paramView.findViewById(R.id.mobile); view.id = (TextView) paramView.findViewById(R.id.id); paramView.setTag(view); } else { view = (ViewHolder) paramView.getTag(); } view.name.setText(TAG_NAME.get(paramInt)); view.email.setText(TAG_EMAIL.get(paramInt)); view.mobile.setText(TAG_PHONE_MOBILE.get(paramInt)); view.id.setText(TAG_ID.get(paramInt)); /*view.name.setFocusableInTouchMode(false); view.name.setFocusable(false);*/ /*view.setOnClickListener(myClickListener);*/ view.name.setFocusable(false); view.email.setFocusable(false); view.mobile.setFocusable(false); view.id.setFocusable(false); return paramView; } 

Хорошо, у вас есть кнопка. В вашем list_item xml установите android:descendantFocusability="blocksDescendants" в LinearLayout или RelativeLayout, которые у вас есть.

Вы можете отображать список? Если да, то покажите, что файл layout содержащий TextView отображает элемент в списке.

Попробуйте удалить isTextSelectable из этого TextView в этом случае.

Проверьте, есть ли какая-то глупая ошибка, как я сделал несколько месяцев назад отсюда:

OnItemClick в ListView не работает

Просто удалите

 listshowcase.setClickable(true); 

Эта строка из ShowCases . И затем повторите попытку.

Я надеюсь, что это поможет вам. Если нет, пожалуйста, дайте мне знать.

Добавьте OnClickListener в каждый из ваших просмотров, возвращаемых с вашего адаптера.