gpt4 book ai didi

android - 显示 DialogFragment 时,ListView 会丢失所有选择

转载 作者:行者123 更新时间:2023-11-30 03:27:15 25 4
gpt4 key购买 nike

我有一个包含 ListView 的 fragment ,当我尝试在其顶部显示一个 DialogFragment 时,选定的列表项被取消选择。是否可以在 DialogFragment 出现/消失时保持选中的项目?

我的 Fragment 的 onCreateView():

        @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

if (DEBUG) {
Log.d(TAG, "BrowserFragment.onCreateView()");
}
View v = inflater.inflate(R.layout.fragment_filebrowser, container,
false);
listView = (ListView) v.findViewById(android.R.id.list);
listView.setAdapter(mAdapter);
listView.setOnItemClickListener(this);
listView.setEmptyView(v.findViewById(android.R.id.empty));

// FOR CONTEXT ACTION MENU
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
listView.setMultiChoiceModeListener(new MultiChoiceModeListener() {

@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.contexual, menu);
mode.setTitle("Choose Files");
return true;
}

@Override
public void onDestroyActionMode(ActionMode mode) {
// TODO Auto-generated method stub
Log.d(TAG, "onDestroyActionMode!");

}

@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {

case R.id.menu_delete:

SimpleDialogFragment
.createBuilder(getActivity(),
getActivity().getSupportFragmentManager())
.setTitle(R.string.delete_files)
.setMessage(R.string.confirm_delete)
.setPositiveButtonText(R.string.yes)
.setNegativeButtonText(R.string.no).show();

mode.finish();
//The rest of the program..

截图:

enter image description here enter image description here

如您在第二个屏幕截图中所见, ListView 的选定项已被取消选择。我怎样才能防止这种情况发生?

更新:我正在使用 StyledDialogs图书馆

最佳答案

找到解决方案,问题是我在 dialogfragment.show() 之后立即调用了 mode.finish()。我存储了 ActionMode 变量并在我的 DialogFragments 正按钮回调中使用它来调用 .finish() 并且一切正常。

关于android - 显示 DialogFragment 时,ListView 会丢失所有选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18043678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com