ListFragment onItemClickListener不工作 [英] ListFragment onItemClickListener not working

查看:233
本文介绍了ListFragment onItemClickListener不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用标签式布局(带刷卡)。 在这里,我有3个标签由一个SectionsPagerAdapter控制。每个标签是一个ListFragment。

I'm using the tabbed layout (with swipe). Here I have 3 tabs with controlled by a SectionsPagerAdapter. Each tab is a ListFragment.

现在我要得到一个触发的事件被点击列表中的一个项目时。我想一个监听器为每个标签。

Now I want to get an event fired when one of the items in the list is clicked. I would like a listener for each tab.

这里的code现在(没有工作,事件不被解雇)。

Here's the code now (Which isn't working, event is not fired).

public class NyhederFragment extends ListFragment {
     public static final String ARG_SECTION_NUMBER = "section_number";
     private static final String TAG="NyhederFragment";
     private List<Item> newsItems;
     private ArrayList newsHeadlines;
     private ArrayAdapter adapter;
     private BroadcastReceiver updateReciever;

public NyhederFragment() {
}

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

    ListView newsList = new ListView(getActivity());
    newsList.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
    newsList.setId(R.id.list);
    DatabaseHelper dbConn = new DatabaseHelper(getActivity());

    newsItems = dbConn.getAllItemsFromNews();
    newsHeadlines = new ArrayList();
    for(Item i : newsItems){
        newsHeadlines.add(i.getTitle());
    }

    adapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1, newsHeadlines);

    setListAdapter(adapter);

    newsList.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                  int position, long id) {
            Log.i("debug", "single click");
        }
    });

    dbConn.close();

    getActivity().registerReceiver(updateReciever, new IntentFilter("ArticlesUpdated"));
    return newsList;
}
}

这是什么,我做错了什么?

What is it, I'm doing wrong?

感谢很多提前!

推荐答案

如果您使用的是 ListFragment ,那么你可以简单地用其覆盖方法 onListItemClick ()

If you are using ListFragment then you can simply use its override method onListItemClick()

@Override
    public void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
    }

这篇关于ListFragment onItemClickListener不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆