2014-01-11 2 views
0

У меня есть swive view вместе с 4 вкладками, которые отображаются в моем первом пользовательском интерфейсе. Я добавил ListView для каждой вкладки. Но OnItemClickListener не работает для ListFragment. Мой класс расширен от ListFragment и реализует OnItemClickListener. Что я хотел сделать, так это то, что когда я выбираю элемент из списка, я должен отображать Toast, который отображает имя элемента, который я выбрал. Но это не работает для меня. Ошибка не возникает, но не получается. Может ли кто-нибудь помочь мне в этом. Мой полный код ниже:Добавление ItemListener в Android ListView

import android.os.Bundle; 
import android.support.v4.app.ListFragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.Toast; 

public class TUFragment extends ListFragment implements OnItemClickListener { 

ListView list; 
View rootView; 

final String[] courses = new String[] { "BIM", "BBA", "BBS", "BSc-CSIT", 
     "BSc-IT", "BHM", "BTTM", "MBA", "MBS", "MSc-IT", "MTTM" }; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    rootView = inflater.inflate(R.layout.fragment_tu, container, false); 

    list = (ListView) rootView.findViewById(android.R.id.list); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 
      android.R.layout.simple_list_item_1, courses); 
    list.setAdapter(adapter); 

    list.setOnItemClickListener(this); 

    return rootView; 
} 

@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    Toast.makeText(this.getActivity(), "You have Selected: " + courses[arg2], 
      Toast.LENGTH_LONG).show(); 
} 
} 

Thankx заранее

ответ

0

Попробуйте это ..

А также изменится setListAdapter(adapter);

@Override 
public void onItemClick(AdapterView<?> arg0, View v, int arg2, long arg3) { 
    String val = ((TextView) v).getText().toString().trim(); 
    Toast.makeText(getActivity(), "You have Selected: " + val, 
      Toast.LENGTH_LONG).show(); 
} 
+0

Это did't работу. также я попробовал list.setOnItemClickListener (getActivity()) отображает ошибку на этой конкретной строке. –

+0

@ user3184937 проверить мое редактирование .. – Hariharan

+0

Thankyou Hariharan jee. Теперь я могу сделать остаток своего кодирования. :) –

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