2014-01-11 83 views
0

我有一个摆动视图以及显示在我的第一个UI中的4个选项卡。我为每个Tabs添加了ListView。但OnItemClickListener不适用于ListFragment。我的类从ListFragment扩展并实现OnItemClickListener。我想要做的是,当我从列表中选择一个项目时,我必须显示Toast,其中显示我选择的项目的名称。但它不适合我。没有错误发生,但没有完成任务。任何人都可以帮助我。我给这家完整的代码如下:在Android ListView中添加ItemListener

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

据我以前不工作。 我也尝试list.setOnItemClickListener(getActivity()) 它显示该特定行上的错误。 –

+0

@ user3184937检查我的编辑.. – Hariharan

+0

Thankyou Hariharan jee。现在我可以完成我的其他编码了。 :) –