android选项卡式活动列表片段
我是android新手,我的android选项卡式活动列表片段,android,android-fragments,android-tabactivity,Android,Android Fragments,Android Tabactivity,我是android新手,我的TabActivity(操作栏选项卡)中有一些片段。在第一个选项卡中,我有一个列表,我想在切换第二个选项卡时在第二个选项卡中显示所选列表的内容。在我的代码中,当我在第一个选项卡中选择列表项时,它会切换到第二个选项卡,但内容不会更新,但当我转到选项卡4和选项卡5,然后返回到选项卡2时,我会在第二个选项卡中获得内容更新?我不知道这个标签怎么用?因此,请给我一个示例选项卡式列表Fragment 我的第一个片段(表1) 在您的第二个片段中重写setUserVisibleHin
TabActivity
(操作栏选项卡)中有一些片段。在第一个选项卡中,我有一个列表,我想在切换第二个选项卡时在第二个选项卡中显示所选列表的内容。在我的代码中,当我在第一个选项卡中选择列表项时,它会切换到第二个选项卡,但内容不会更新,但当我转到选项卡4和选项卡5,然后返回到选项卡2时,我会在第二个选项卡中获得内容更新?我不知道这个标签怎么用?因此,请给我一个示例选项卡式列表Fragment
我的第一个片段(表1)
在您的第二个片段中重写
setUserVisibleHint
方法,并将更新代码放在其中,我刚刚编写了从代码中得到的信息,即它是您的更新部分
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && isResumed()) {
adapterGenerator.setCompany(Company.getSelectedCompany());
adapterGenerator.setViewIds(new int[] {R.id.textViewPartyName,R.id.textViewTotal});
SimpleAdapter listAdapter = adapterGenerator.generateAdapter();
listView.setAdapter(listAdapter);
}
}
请在第二个片段中添加你的更新代码。请上传你为此所做的代码。我做了,但我面临同样的问题。我在第二个选项卡中获得了内容,但我的问题是,当我单击第一个选项卡中的列表项时,它不会立即显示在第二个选项卡上,当我滑动到第四个和第五个选项卡时,我返回到第二个选项卡,内容已更新,我再次选择列表,内容没有像上一样更改..感谢您的友好重播masoud vali,我犯了一个小错误,我把我的视图放在
setUserVisibleHint
中,这意味着我在setUserVisibleHint
中调用的方法是loadTableData
最后我在viewPager中使用setOffScreenPageLimit
方法来解决我的问题
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return loadTableData();
}
public View loadTableData()
{
LayoutInflater inflater = getActivity().getLayoutInflater();
ViewGroup container = (ViewGroup) getView();
View view;
view = inflater.inflate(R.layout.fragment_outstanding, container, false);
OutstandingAdapterGenerator adapterGenerator = new OutstandingAdapterGenerator();
adapterGenerator.setContext(getActivity());
ListView listView = (ListView)view.findViewById(R.id.outstandingPurchaseList) ;
adapterGenerator.setListViewResource(R.layout.list_item);
adapterGenerator.setPurchase(true);
adapterGenerator.setCompany(Company.getSelectedCompany());
adapterGenerator.setViewIds(new int[]{R.id.textViewPartyName,R.id.textViewTotal});
SimpleAdapter listAdapter = adapterGenerator.generateAdapter();
listView.setAdapter(listAdapter);
return view;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser && isResumed())
{
loadTableData();
}
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && isResumed()) {
adapterGenerator.setCompany(Company.getSelectedCompany());
adapterGenerator.setViewIds(new int[] {R.id.textViewPartyName,R.id.textViewTotal});
SimpleAdapter listAdapter = adapterGenerator.generateAdapter();
listView.setAdapter(listAdapter);
}
}
//my view pager
mViewPager = (ViewPager) findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOffscreenPageLimit(6);
//onCreateView
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view;
view = inflater.inflate(R.layout.fragment_outstanding, container, false);
return view;
}
//UserVisibleHint
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisibleToUser)
{
OutstandingAdapterGenerator adapterGenerator_purchase = new OutstandingAdapterGenerator();
adapterGenerator_purchase.setContext(getActivity());
ListView listView = (ListView)getView().findViewById(R.id.outstandingPurchaseList) ;
adapterGenerator_purchase.setListViewResource(R.layout.list_item);
adapterGenerator_purchase.setPurchase(true);
adapterGenerator_purchase.setCompany(Company.getSelectedCompany());
adapterGenerator_purchase.setViewIds(new int[]{R.id.textViewPartyName,R.id.textViewTotal});
SimpleAdapter listAdapter = adapterGenerator_purchase.generateAdapter();
listView.setAdapter(listAdapter);
}
}