【发布时间】:2015-07-22 13:33:04
【问题描述】:
我在视图寻呼机上有两个片段。 我曾经不得不将数据从片段 B 移动到 A 并刷新 A 上显示的数据,我使用 getItemPosition 来完成。 由于某种原因,当我尝试重置所有数据时,相同的方法不起作用..
在我的适配器中,我有:
public void refresh()
{
notifyDataSetChanged();
}
@Override
public int getItemPosition( Object obj )
{
return POSITION_NONE;
}
在我点击“重置”的片段中:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
notTriedPasswordsList = PagerActivity.mainList;
.....
....
resetButton.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v )
{
PagerActivity.resetPasswords();
PagerActivity.viewPagerAdapter.refresh();
}});
同时托管两个片段的 viewPager 活动:
public static void resetPasswords()
{
mainList.addAll( 0, historyList );
historyList.clear();
PagerActivity.viewPagerAdapter.refresh();
}
显示通行证的主要片段:
@Override
public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState )
{
View view = inflater.inflate(R.layout.fragment_main, container, false);
.....
nextCodeDisplay = ( TextView ) view.findViewById( R.id.passwordDisplayTextView );
nextCodeDisplay.setText( notTriedPasswordsList.get( 0 ).getPasswordString() );
....
nextButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
notTriedPasswordsList.remove( 0 );
if( notTriedPasswordsList.size() > 0 && !(notTriedPasswordsList.get( 0 ).getTried()) )
{
nextCodeDisplay.setText( notTriedPasswordsList.get( 0 ).getPasswordString() );
}
}
【问题讨论】:
-
你的进展如何?我注意到您最近没有回复。
-
使用接口进行两个片段之间的通信,它会这样工作.....
标签: android android-fragments refresh