2013-08-13 4 views
0

Я работаю в Android-приложении, где мне нужно создать метод onItemClick, но я этого не делаю. Ниже приведен код, в котором метод onItemClick не работает. У кого-нибудь есть идея, почему это не работает?Listview onitemclick прослушиватель не работает

public class sample extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.live_chat_screen); 

     mListview = (ListView) findViewById(R.id.mLiveview); 
     mListview.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapters, View childView,int position, long arg3) { 
       // TODO Auto-generated method stub 
       Toast.makeText(sample.this,"Item number : " + position + " clicked",Toast.LENGTH_LONG).show(); 
      } 
     }); 

здесь является XML:

<ListView 
    android:id="@+id/mLiveview" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"  
    android:fastScrollEnabled="true"   

    android:scrollbars="vertical" > 
</ListView> 

На самом деле я использовал два вида в мое приложение первой является случай, когда приложение открыто, и другой вид открыт в то время как ListView получает нагрузку.

Может ли кто-нибудь помочь мне.

+0

Почему он не работает? Код совершенен. Добавьте несколько журналов внутри 'onItemClick', чтобы вы знали, что этот элемент нажат. –

+0

какая ошибка вы получаете? –

+0

У вас есть элементы внутри списка? напишите 'Toast.makeText (YourActivity.this," Номер позиции: "+ позиция +" кликнул ", Toast.LENGTH_LONG) .show();'. –

ответ

-1

Главное вы забываете это

setContentView(R.layout.activity_menus); 
+0

и в чем проблема с кодом priya? –

+1

Привет, гаурав, не спешите отвечать. Обеспечьте то, что она хочет. В вашем коде, кто знает, что такое продукт, почему вы открываете активность? Итак, просто отредактируйте свой ответ с помощью некоторых журналов, поэтому вопрос просто понять. :) –

+0

@TarunDroid проблема с кодом priya, она забыла установить contentview – Developer

1

Вы не настройки Вашего макета в вашей деятельности. Сначала установите XML с помощью setContentView() так:

setContentView(R.layout.your_xml); 

Затем продолжайте

mListview = (ListView) findViewById(R.id.mLiveview); 
0

Добавьте этот код в макете затем повторите попытку;

android:clickable="true" 
android:focusable="true" 
0

Попробуйте это в ListView

<ListView 
       android:id="@+id/list" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:focusable="true" 
       android:descendantFocusability="blocksDescendants" 
       android:orientation="horizontal" 
       android:scrollbars="vertical" 
       android:smoothScrollbar="true" /> 

Если вы используете пользовательские ListView, например, с помощью флажка, используйте

android:focusable="false" 
    android:focusableInTouchMode="false" 


<CheckBox 
    android:id="@+id/chk_delete" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:focusable="false" 
    android:focusableInTouchMode="false" /> 
Смежные вопросы