我对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或其他地方。请帮我。如果您要求,我将显示“第二个活动”。谢谢