2

我正在新的Android 系统 4.1 Jelly Bean中测试我的应用程序,但我的应用程序ListFragment不再正常工作。

当我单击列表的行时,onListItemClick不再调用该函数。它曾经在 Android 3.0 和 Android 2.x 上正常工作

Android 4.x 是否有任何关于ListFragment或 的变化onListItemClick

一种精度,我正在使用android-support-v4.jar 中的“ListFragment”

 android.support.v4.app.ListFragment

这是我的ListFrangment代码:

public class MessagesListFragment extends ListFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
        View view = inflater.inflate(R.layout.pull_to_refresh, null);
        return view;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
         /* some initialization, working fine */
         /* Settings of the list Adapter*/

    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
         int messagePosition = 0;
         if(position>0){
              messagePosition = position - 1;
          } else {
              Log.e("MessageListView", "[onListItemClick] position is inferior to zero,"
                + " message position is set to 0");
          }
          String expediteur = DomboxHome.messagesService.messagesArrayList.get(messagePosition).getExpediteur();
          String contenu = DomboxHome.messagesService.messagesArrayList.get(messagePosition).getContenu();
          Log.d("MessageListView","[onListItemClick] click on message position : "+messagePosition);

          ((MessagesActivity)getActivity()).onChooseMessageDetails(expediteur, contenu);

     }
4

2 回答 2

3

我找到了解决方案,

责任不在android-support-v4.jar上,而是在android-pulltorefresh上,它是一个实现 pull-to-refresh-list 的库。

Android 拉取刷新列表

该库与 Jelly Bean 不完全兼容,但已由团队修复(顺便感谢团队!)

错误修复

于 2012-07-19T14:40:33.903 回答
1

我在具有不支持新 Android 4.1 的 PullToRefresh 库的应用程序中发现了此错误

为了解决这个问题,我使用了库的一个分支

https://github.com/chrisbanes/Android-PullToRefresh

这个图书馆真棒。具有新的 PullToRefreshWebView 和 PullToRefreshGridView 以及其他功能,例如从底部拉取刷新(拉到列表底部)和其他类似新动画的想法。

于 2012-07-25T15:31:09.770 回答