我在EditTexts
的行中遇到了一些ListView
的奇怪问题。
基本上,用户从一个活动中选择一些练习,当他点击下一个按钮时,新的活动会启动,他需要输入他所选择的练习的信息。这些信息包括权重,代表和集合。
有些练习可能不需要重量。如果是这种情况,我会将weight
行中的EditText
ListView
设置为启用为false:
EditText weight = (EditText)v.findViewById(R.id.weightChosen);
CustomExercisesDB exs = new CustomExercisesDB(cont);
exs.open();
int weightable = exs.isWeightable(chosenExercisesNames.get(position));
exs.close();
if(weightable==0)
{
weight.setEnabled(false);
}
以上代码放在getView
的自定义适配器的ListView
中。
现在,如果让我们说用户选择了3个练习,其中一个练习不需要权重,那么他需要为每个练习输入信息的活动如下所示:
当用户点击第一个练习的两个EditText
来键入一些值时,会弹出键盘,用户会在第一个练习中为每个EditText
输入一些值。
现在的问题是,当用户说出点击返回按钮时,第一个练习的EditTexts
中输入的值似乎跳到了{{0}中最后一个练习的最后两个EditTexts
{1}}。像这样:
这是不正确的,因为应该为ListView
设置此信息,而不是Pick Push up
。
究竟是什么导致了这个问题,我该如何克服它。
如果您需要我认为您认为相关的其他任何内容,请告诉我。我不想包含很多可能无关紧要的代码。
此外,如果我再次点击第一个练习的Shoulder press
之一,则值会从上一个练习中跳回到它们。这就像我输入的值在EditTexts
之外“悬挂”而弹出的键盘似乎让它们四处跳跃。
由于
答案 0 :(得分:0)
我已经解决了这个问题。
如果有人遇到类似问题,您只需将android:windowSoftInputMode="adjustPan"
放在活动下的manifest
即可。
因此,我输入每项练习信息的活动称为SetCustomExercisesInfo
,我将android:windowSoftInputMode="adjustPan"
放入其中。
<activity
android:name=".SetCustomExercisesInfo"
android:label="@string/setCusExInfo"
android:windowSoftInputMode="adjustPan" >
</activity>