在清除选项卡中插入ListView

时间:2014-05-26 14:34:30

标签: android listview fragment

晚上好人,我正在创建一个聊天应用程序,我正在插入一个Fragment适配器,为其Main类添加清晰的标签,但我需要我的标签在每个标签中都有listview,所以我需要它们来扩展listview和Fragment in为了正常这样做,我需要有经验的家伙的帮助,如果你知道任何技巧或方式,我可以这样做,我真的很感激。 顺便说一句,这是我的适配器:

public class TabsPagerAdapter extends FragmentPagerAdapter {

public TabsPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int index) {

    switch (index) {
    case 0:
        // Top Rated fragment activity
        return new TopRatedFragment();
    case 1:
        // Games fragment activity
        return new GamesFragment();
    case 2:
        // Movies fragment activity
        return new MoviesFragment();

    }

    return null;
} 

这是我主要活动的一部分

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case R.id.menu_settings:
        Intent intent = new Intent(this, SettingsActivity.class);
        startActivity(intent);
        break;

    case R.id.menu_all:
        tours = datasource.findAll();
        refreshDisplay();
        break;

    case R.id.menu_cheap:
        tours = datasource.findFiltered("price <= 300", "price ASC");
        refreshDisplay();
        break;

    case R.id.menu_fancy:
        tours = datasource.findFiltered("price >= 1000", "price DESC");
        refreshDisplay();
        break;

    default:
        break;
    }
    return super.onOptionsItemSelected(item);
}

感谢

1 个答案:

答案 0 :(得分:1)

您可以扩展ListFragment而不是Fragment。这将帮助您使用列表构建片段。

您可以查看以下文档ListFragment official documentation

所以你需要做类似的事情:

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.app.ListFragment;

public class MyListFragment extends ListFragment {

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);
   }

   @Override
   public void onListItemClick(ListView l, View v, int position, long id) {
   // do something with the data
   }
}