按下后退按钮时如何清除 Fragment 上的 ListView?
How to clear ListView on Fragment when back button pressed?
ListView
中的所有数据均由 CursorAdapter
提供。
每当我按下后退按钮和 return
到 activity,然后单击 activity 开始我的 fragment
,所有以前的数据仍然在那里堆叠在一起。
当返回到 activity 按下后退按钮调用时:
arraylist.clear();
adapter.notifyDataSetChanged();
1) 创建接口BackPressedListener
:
public interface BackPressedListener {
void onBackPressed();
}
2) 在您的 activity 中,您可以覆盖 onBackPressed()
:
@Override
public void onBackPressed() {
List<Fragment> fragmentList = getSupportFragmentManager().getFragments();
if (fragmentList != null) {
for(Fragment fragment : fragmentList){
if(fragment instanceof BackPressedListener){
((BackPressedListener)fragment).onBackPressed();
}
}
}
}
3) 在您的 fragment
上实施 interface
BackPressedListener
。您将覆盖 fragment
中的 onBackPressed
方法,清除包含元素的 list
,然后将更改通知 adapter
,如下所示:
@Override
public void onBackPressed()
{
arrayList.clear();
adapter.notifyDataSetChanged();
finish();
}
你可以试试
try {
arraylist.clear();
listView.removeAllViews();
}catch (Exception e){
}
在片段中制作 public
一个方法,它将清除您的列表并使用片段的实例从其父 activity 的 onBackPressed
上调用该方法。
ListView
中的所有数据均由 CursorAdapter
提供。
每当我按下后退按钮和 return
到 activity,然后单击 activity 开始我的 fragment
,所有以前的数据仍然在那里堆叠在一起。
当返回到 activity 按下后退按钮调用时:
arraylist.clear();
adapter.notifyDataSetChanged();
1) 创建接口BackPressedListener
:
public interface BackPressedListener {
void onBackPressed();
}
2) 在您的 activity 中,您可以覆盖 onBackPressed()
:
@Override
public void onBackPressed() {
List<Fragment> fragmentList = getSupportFragmentManager().getFragments();
if (fragmentList != null) {
for(Fragment fragment : fragmentList){
if(fragment instanceof BackPressedListener){
((BackPressedListener)fragment).onBackPressed();
}
}
}
}
3) 在您的 fragment
上实施 interface
BackPressedListener
。您将覆盖 fragment
中的 onBackPressed
方法,清除包含元素的 list
,然后将更改通知 adapter
,如下所示:
@Override
public void onBackPressed()
{
arrayList.clear();
adapter.notifyDataSetChanged();
finish();
}
你可以试试
try {
arraylist.clear();
listView.removeAllViews();
}catch (Exception e){
}
在片段中制作 public
一个方法,它将清除您的列表并使用片段的实例从其父 activity 的 onBackPressed
上调用该方法。