我在android中用两个片段实现了TabLayout。在一个片段中,我添加了一个ListView。我正在从服务器检索数据以填满ListView。一切都很好,直到我试图从ListView类访问MainActivity。

我需要从MainActivity访问相同的listview(在片段中),我在其中创建了TabLayout来加载数据。该片段是为tablayout的选项卡创建的。

我在下面添加了代码。

任何人都可以告诉我如何从ListView访问MainActivity? MainActivity.java

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_detailed_report);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

final TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);

tabLayout.addTab(tabLayout.newTab().setIcon(R.mipmap.ic_launcher));

tabLayout.addTab(tabLayout.newTab().setIcon(R.mipmap.ic_launcher));

tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setVisibility(View.INVISIBLE);

final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);

final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());

viewPager.setAdapter(adapter);

viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {

@Override

public void onTabSelected(TabLayout.Tab tab) {

viewPager.setCurrentItem(tab.getPosition());

}

@Override

public void onTabUnselected(TabLayout.Tab tab) {

}

@Override

public void onTabReselected(TabLayout.Tab tab) {

}

});

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

}

report list fragment.Java

public class ReportListFragment extends Fragment{

private SimpleDateFormat mFormatter = new SimpleDateFormat("MMMM dd yyyy hh:mm aa");

Date newDate;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

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

finder_sharedprefs = getActivity().getSharedPreferences(FINDERPREFERENCES, Context.MODE_PRIVATE);

listView=(ListView) view.findViewById(R.id.list);

reportLayout = (RelativeLayout) view.findViewById(R.id.new_report);

} catch (ParseException e) {

e.printStackTrace();

}

}

return view;

}

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐