我有一个微调器,其元素保存在共享引用中。当我从微调器中选择任何元素并单击“保存”按钮时,它会将该元素保存在SharedRef中,并且每当我返回此活动时,微调器将与我选择并保存的相同元素一起被选中。当我关闭应用程序并从手机中当前运行的应用程序中删除时,问题就会出现。在这种情况下,当我打开应用程序并转到该活动时,将使用第0个元素选择微调器。我正在从SharedRef获取保存的元素,但未调用getPosition()。为什么会这样?
这是我的方法:
public boolean setBranchIds(ArrayList<String> tdBrlist) {
try {
branchList = tdBrlist;
runOnUiThread(new Runnable() {
@Override
public void run() {
branchSpinner = new Spinner(Activity_Settings.this);
TableRow.LayoutParams tdpid_spinner_params = new TableRow.LayoutParams(
0, LayoutParams.WRAP_CONTENT, 3f);
branchSpinner.setLayoutParams(tdpid_spinner_params);
branchRow.addView(branchSpinner);
branchSpinner.setPrompt("Select Branch");
if (branchList.size() > 0) {
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
Activity_Settings.this,
android.R.layout.simple_spinner_item,
branchList);
branchSpinner.setAdapter(spinnerAdapter);
String branch = mActivity.getSharedPreferences(
Utility.PREFERENCE_NAME, Context.MODE_PRIVATE)
.getString(Utility.BRANCH, "");
System.out.println("====branch===: "+branch);
if (!branch.equals("")) {
branchIndex = getIndex(branch);
System.out.println("=====positionbranch:
"+branchIndex);
branchSpinner.setSelection(branchIndex);
}
}
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
private int getIndex(String branch) {
for (int i = 0; i < branchList.size(); i++) {
if (branchList.get(i).equalsIgnoreCase(branch)) {
System.out.println("======i: "+i);
return i;
}
}
return -1;
}
LogCat值:
12-17 13:50:51.502: I/System.out(13229): ====branch===: B1
12-17 13:50:51.502: I/System.out(13229): ====branchlist===: [Select, B1, B2,
B3,B4]
12-17 13:50:51.502: I/System.out(13229): ======i: 1
12-17 13:50:51.502: I/System.out(13229): =====positionbranch: 1
返回时的 LogCat 值:
12-17 13:53:10.932: I/System.out(14895): ====branch===: B1
12-17 13:53:10.932: I/System.out(14895): ====branchlist===: [Select, B1, B2
, B3, B4]
12-17 13:53:10.932: I/System.out(14895): =====positionbranch: -1
您可能需要更换:
int branchIndex = pinnerAdapter.getPosition(branch);
branchSpinner.setSelection(branchIndex);
有了这个:
branchSpinner.setSelection(list.indexOf(branch));
问题内容: Ember.js REST适配器期望JSON返回为: 但是我的API返回的数据 没有根元素 : 是否可以自定义REST适配器,使其接受我的JSON数据?现在,它显示“ 断言失败:您的服务器返回了一个带有键0的哈希,但是您没有映射 ” 更新: 根据下面的Sherwin Yu的答案,这是我想出的,到目前为止似乎仍然有效:https : //gist.github.com/richardka
ListPetientFragment。JAVA 错误是:2021-11-17 18:41:02.417 29997-29997/?E/rtphonemedicat:运行时设置的未知位_标志:0x8000 2021-11-17 18:41:03.628 29997-30029/com。尼戈特。smartphonemedicate E/GED:无法获取GED日志Buf,错误(0)2021-11-17
本节将会引入一个全新的概念——适配器,这个名字很形象,和电源适配器的功能类似,从程序设计的角度出发,它可以将不同类型、不同结构的数据适配到一起。 在 Android 中,适配器是 UI 组件和数据之间的桥梁,它帮助我们将数据填充到 UI 组件当中,实现了一个典型的 MVC 模式。我们可以分别编写独立的 UI 样式和数据模型,至于数据如何与 UI 组件绑定都由 Adapter 帮我们完成,这样的好处
问题内容: 所以我有一个自定义的listview。就像Instagram布局一样,每个列表项中都有1张图片和一堆按钮。所以这是问题所在: 我要实现共享按钮。为此,我尝试创建一个从适配器到活动的回调。但这似乎没有用。这是我到目前为止的内容(我裁剪了不相关的部分): 主要活动 列表适配器 错误日志: 问题答案: 您需要告诉适配器使用哪个OnShareClickedListener()实现。现在,在您的
问题内容: 我在告诉Android 方向更改时不打电话时遇到了麻烦。我已添加到清单中,但仍在调用方向更改时添加。这是我的代码。 AndroidManifest.xml SearchMenuActivity.java 还有我的LogCat输出 有人知道我在做什么错吗?谢谢。 问题答案: 要尝试的几件事: 而不是 确保您没有在任何地方打电话。这将导致onConfigurationChange()无法触
我朋友的Android Studio 2.3中有一个奇怪的问题。通常,如果我们转到“运行”,则可以看到“调试器”选项卡 我曾尝试重新安装到最新的Android Studio 2.3,重新安装SDK工具并重新引用SDK路径。我们的环境几乎相同。我可以调试,但他不能。 不知道Windows 10中的c:\ users { user-name } . androidstudio 2.3下是否存储了调试器