2012-03-16 2 views
0

У меня есть пользовательский CursorAdapter, и это выглядит как:Почему мой список не доступен?

public class LabelAdapter extends CursorAdapter { 

Context con; 
LayoutInflater mFactory; 

public AlarmTimeAdapter(Context context, Cursor c) { 
    super(context, c); 
    con = context; 
    mFactory = LayoutInflater.from(con); 
} 

@Override 
public void bindView(View view, final Context context, Cursor cursor) { 


    final String label2 = cursor.getString(AlarmData.ALARM_TITLE_INDEX); 

    ..code to fill in the textview with whats in the cursor 


} 

@Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    View ret = mFactory.inflate(R.layout.item_lv, parent, false); 

    return ret; 
} 

} 

мой item_lv выглядит следующим образом:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/relativeLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="10dp" 
    android:focusable="true" 
    > 

     <TextView 
     android:id="@+id/label" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_marginLeft="14dp" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 


</RelativeLayout> 

Когда я зову:

ListView lv = (ListView)findViewById(R.id.listview); //Listview is in the main.xml file 
lv.setAdapter(new LabelAdapter(this, mCursor); 
lv.setFocusable(true); 

Элементы в ListView не являются выбирается .. кто-нибудь знает, что не так? Я установил элементы с возможностью фокусировки, но их нельзя нажать. Помогите! Благодаря!

+0

Для этого вам нужно реализовать 'onItemClickListener' – waqaslam

ответ

0

Установите onItemClickListener вашему listView-

lv.setOnItemClickListener(new OnItemClickListener(){ 

@Override 
    public void onItemClick(AdapterView<?> adapter, View view, int position, 
      long arg3) { 
    }); 
+0

Я имею в виду, что у меня это тоже в моем главном вызове .. он по-прежнему не щелкает –

0

Удалить андроид: focusable = "true" из RelativeLayout для вашего предмета.

+0

Хорошо, я сделал это, и он все еще не работал :( –

0

Я считаю, что ответ очень прост. Установите TextView в .xml должен быть

Android: Clickable = «True»

Причина этого заключается в том, что если вы ставите это как строки, они должны быть интерактивными, чтобы распознавать события нажатия.

Смежные вопросы