0

嗨,如何使用 Actionbar sherlock 片段和 ViewSwitcher实现chrisbanes Pull to Refresh Library ?

我正在使用此代码

主.java

    // get an instance of FragmentTransaction from your Activity
    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

    //add fragment to LinearLayout(fragment_layout)
    TemplateListActivity myFragment = new TemplateListActivity();
    fragmentTransaction.add(R.id.fragment_layout, myFragment);
    fragmentTransaction.commit();

SherlockFragment.java

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

    View view = inflater.inflate(R.layout.fragment_template_list,
            container, false);

    vsSwitcher = (ViewSwitcher) view.findViewById(R.id.vsSwitcher);
    lvNameList = (ListView) view.findViewById(R.id.lvNameList);
    btnViewSwitcher = (Button) view.findViewById(R.id.button1);
    btnViewSwitcher.setOnClickListener(this);
    getList();


    mPullToRefresh = (PullToRefreshLayout) view.findViewById(R.id.ptr_layout);

    ActionBarPullToRefresh
            .from(getSherlockActivity())
            .allChildrenArePullable()
            .listener(this)
            .setup(mPullToRefresh);
    return view;
}

SherlockFragment.xml

相对布局

   >Linear layout
     >Button1
     >Button2
     >Button3


>uk.co.senab.actionbarpulltorefresh.extras.actionbarsherlock.PullToRefreshLayout
     >ViewSwitcher
        >Linear Layout
           >ListView
        >Linear Layout
           >Toggle Button

因此,当我运行代码拉刷新不起作用并且其他布局也不起作用。我希望你们能帮助我。

4

1 回答 1

1

好的,我通过将 Viewgroup 指向特定布局得到了答案

    View view = inflater.inflate(R.layout.fragment_template_list,
            container, false);
    ViewGroup viewGroup = (ViewGroup) view.findViewById(R.id.ptr_layout);

并插入拉动以刷新到该视图组

    mPullToRefresh = new PullToRefreshLayout(viewGroup.getContext());

    ActionBarPullToRefresh
            .from(getSherlockActivity())
            .insertLayoutInto(viewGroup)
            .theseChildrenArePullable(view.findViewById(R.id.lvNameList))
            .listener(this)
            .setup(mPullToRefresh);
于 2014-02-10T01:45:34.360 回答