Android 2选项卡活动不同Asynctask

时间:2018-07-31 14:00:16

标签: listview android-fragments android-asynctask android-tabactivity

我对Tab活动中的两个不同任务有疑问。我要显示所有有关信息中心的列表视图的第一个选项卡,第二个选项卡是有关乡村信息中心的全部显示的视图。第一个选项卡显示所有信息中心,但第二个选项卡未显示所有有关村庄信息中心的信息。这是我的标签活动的主要活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());


    mViewPager = (ViewPager) findViewById(R.id.container);
    mViewPager.setAdapter(mSectionsPagerAdapter);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);

    mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
    tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));


}

public class SectionsPagerAdapter extends FragmentPagerAdapter {

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

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                Main_Pusat mPusat = new Main_Pusat();
                return mPusat;
            case 1:
                Main_Desa musat = new Main_Desa();
                return musat;
            default:
                return null;
        }
    }

    @Override
    public int getCount() {
        // Show 3 total pages.
        return 2;
    }

    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return "INFO PUSAT";
            case 1:
                return "INFO DESA";

        }
        return null;
    }

此Main_Pusat活动

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

    View rootView = inflater.inflate(R.layout.fragment_pusat, container, false);
    lv = (ListView) rootView.findViewById(R.id.listpusat);

    new loadPostpusat().execute();

    return rootView;
}

这是Pusat_Adapter

public Pusat_Adapter (Activity a, ArrayList<HashMap<String, String>> d){
    activity = a;
    data = d;
    dataBackup = (ArrayList<HashMap<String, String>>)data.clone();
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

@Override
public int getCount() {
    return data.size();
}

@Override
public Object getItem(int position) {
    return position;
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
    View v = view;
    if (view == null)
        v = inflater.inflate(R.layout.pusat_adapter, null);
        TextView t_judul = (TextView)v.findViewById(R.id.judulpusat);
        TextView t_info = (TextView)v.findViewById(R.id.infopusat);

        histori = data.get(i);

        t_judul.setText(histori.get(Main_Pusat.TAG_JUDUL));
        t_info.setText(histori.get(Main_Pusat.TAG_INFO));

    return v;

}

@Override
public Filter getFilter() {
    return new Filter() {
        @Override
        protected FilterResults performFiltering(CharSequence charSequence) {
            FilterResults results = new FilterResults();
            charSequence = charSequence.toString().toLowerCase();
            if (charSequence == null || charSequence.length()==0){
                results.values = dataBackup;
                results.count = dataBackup.size();
            }
            if (charSequence != null && charSequence.toString().length()>0){
                ArrayList<HashMap<String, String>> x = new ArrayList<HashMap<String, String>>();
                for (int i = 0; i <data.size();i++){
                    if (dataBackup.get(i).get("judul_pusat").toLowerCase().contains(charSequence));
                    x.add(dataBackup.get(i));
                }
            }
            return results;
        }

        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            data = (ArrayList<HashMap<String, String>>)results.values;
            notifyDataSetChanged();
        }
    };
}

第二个活动与Main_Pusat相同,并具有一个Pusat_adapter适配器。我认为问题出在MainActivity或其他地方。请帮我。如果您要求,我将显示“第二个活动”。谢谢

0 个答案:

没有答案