我在嵌套的fragement中实现了一个上下文动作模式栏.此片段是视图分页器的一部分,视图分页器也是片段和导航抽屉的一部分.
我的问题:如果片段不再集中,我想关闭上下文操作模式栏.因此,如果我在视图寻呼机中滑动,则应关闭操作模式栏.但是如果我使用onPause()嵌套片段的方法,则不直接调用该方法.通常它等到我向前滑了两三次......这是一些照片:


在第二张图片中,您可以看到操作模式栏仍然存在.所以我的问题是:我应该在哪种方法中调用我的actionModeBar.finish()方法,如果我离开片段,直接关闭动作模式栏?
也许片段的代码可以帮助你:
public class EditorFragment extends Fragment {
private static final String KEY_POSITION="position";
ListView listView;
private boolean isMultipleList = false;
private ActionMode acMode;
private int counterChecked = 0;
private ActionMode.Callback modeCallBack = new ActionMode.Callback() {
public boolean onPrepareActionMode(ActionMode mode, Menu menu){
return false;
}
public void onDestroyActionMode(ActionMode mode) {
listView.clearChoices();
for (int i = 0; i < listView.getChildCount(); i++)
listView.setItemChecked(i, false);
listView.post(new Runnable() {
@Override
public void run() {
listView.setChoiceMode(ListView.CHOICE_MODE_NONE);
}
});
isMultipleList = …Run Code Online (Sandbox Code Playgroud) android android-viewpager android-contextmenu android-actionmode
我正在寻找几个小时来找出为什么在共享首选项中保存布尔列表不起作用.
方法不保存或加载某些东西...... loadmethod总是返回替代值:所以list_size为0,布尔值为false.
首先,我在MainActivity中创建列表并调用save方法:
SaveLoadTraining sLoad = new SaveLoadTraining();
ArrayList<Boolean> listBoolTrain = new ArrayList<Boolean>();
listBoolTrain.add(true);
listBoolTrain.add(true);
sLoad.saveArray(listBoolTrain);
Run Code Online (Sandbox Code Playgroud)
子类SaveLoadTraining看起来像这样:
package de.sebspr.app08.halle;
import java.util.ArrayList;
import android.content.Context;
import android.content.SharedPreferences;
import de.sebspr.app08.MainActivity;
public class SaveLoadTraining {
private Context context;
public static final String PREFS_NAME = "ListFile";
private ArrayList<Boolean> list;
public SaveLoadTraining(){
this.context = MainActivity.getMContext();
}
public void saveArray(ArrayList<Boolean> list){
this.list = list;
SharedPreferences settings = context.getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
int size = list.size();
editor.putInt("list_size", size);
for (int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我从我的服务器获取一个 Json-String:
{"erfolgreich":"true","id":"14"}
Run Code Online (Sandbox Code Playgroud)
当我打电话
//result is the string above
msgServer = gson.fromJson(result, MsgSpielerErstellenSA.class);
Run Code Online (Sandbox Code Playgroud)
布尔值始终为假...
我究竟做错了什么?
这是我的 MsgSpielerErstellenSA
public class MsgSpielerErstellenSA {
private long id;
private boolean isErfolgreich;
public MsgSpielerErstellenSA(long id, boolean isErfolgreich) {
super();
this.id = id;
this.isErfolgreich = isErfolgreich;
}
public boolean isErfolgreich() {
return isErfolgreich;
}
public void setErfolgreich(boolean isErfolgreich) {
this.isErfolgreich = isErfolgreich;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
Run Code Online (Sandbox Code Playgroud) 到目前为止,我正在使用Android Studio进行开发.现在我意识到我能够获得Intellij Ultimate许可证.我试图找出如何激活Android Studio中的"终极"插件.但由于Android Studio基于社区版,因此无法实现.或者有任何线索吗?
反过来说:我使用IntelliJ Ultimate并激活插件'Android Support'.但是,缺点似乎是缺少android studio特定按钮(sdk,avd,...)有没有办法激活Android Studio UI?