【问题标题】:List view with onItemClickListner was not working带有 onItemClickListner 的列表视图不起作用
【发布时间】:2015-11-03 10:14:58
【问题描述】:

OnItemClickListner 不工作任何人帮助我,我希望点击列表项每个项目进入下一个活动

java

 public class Tab1 extends Fragment {

    private ListAdapter mAdapter;

    private ArrayList<String> listCountry;
    private ArrayList<Integer> listFlag;
    private ListView listview;


     @Override

         public View onCreateView(LayoutInflater inflater, ViewGroup container,

                 Bundle savedInstanceState) {

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

             prepareList();        
            mAdapter = new ListAdapter(getActivity(), listCountry, listFlag);
            //Missed code to here
            listview = (ListView)rootView.findViewById(R.id.card_listView);
            listview.setAdapter(mAdapter);


            listview.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub



                }

            });

             return rootView;

         }

     public void prepareList()
        {
            listCountry = new ArrayList<String>();

            listCountry.add("India");
            listCountry.add("USA");
            listCountry.add("Canada");
            listCountry.add("AUS");



            listFlag = new ArrayList<Integer>();
            listFlag.add(R.drawable.india);
            listFlag.add(R.drawable.usa);
            listFlag.add(R.drawable.canada);
            listFlag.add(R.drawable.aus);

        }

}

【问题讨论】:

  • 是不是报错了??
  • OnItemClickListner 没有工作... 因为onItemClick 方法体中没有代码...

标签: android android-listview


【解决方案1】:

小错误,请在onItemClick方法中添加您的代码

在这里显示 Toast 消息。以及新活动启动的演示代码

 listview.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                // TODO Auto-generated method stub

              // Add your staff here 
             Toast.makeText(getActivity(),"Listview Click"+position, Toast.LENGTH_SHORT).show();

             Intent intent = new Intent(getActivity(), Your_Desise.class);
             startActivity(intent);

            }

        });

试试这个方法。我相信它会帮助你。

Listview , open new activity onClick

Start Activities from onItemClick of ListView in fragments

【讨论】:

    【解决方案2】:

    你必须要调用AdapterViewonItemClickListener

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getActivity(),"Click" +position, Toast.LENGTH_SHORT).show();
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多