某些EditTexts的值似乎转移到其他EditTexts

时间:2013-03-23 18:27:10

标签: java android listview android-edittext

我在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个练习,其中一个练习不需要权重,那么他需要为每个练习输入信息的活动如下所示: enter image description here

当用户点击第一个练习的两个EditText来键入一些值时,会弹出键盘,用户会在第一个练习中为每个EditText输入一些值。

enter image description here

现在的问题是,当用户说出点击返回按钮时,第一个练习的EditTexts中输入的值似乎跳到了{{0}中最后一个练习的最后两个EditTexts {1}}。像这样:

enter image description here

这是不正确的,因为应该为ListView设置此信息,而不是Pick Push up

究竟是什么导致了这个问题,我该如何克服它。

如果您需要我认为您认为相关的其他任何内容,请告诉我。我不想包含很多可能无关紧要的代码。

此外,如果我再次点击第一个练习的Shoulder press之一,则值会从上一个练习中跳回到它们。这就像我输入的值在EditTexts之外“悬挂”而弹出的键盘似乎让它们四处跳跃。

由于

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

如果有人遇到类似问题,您只需将android:windowSoftInputMode="adjustPan"放在活动下的manifest即可。

因此,我输入每项练习信息的活动称为SetCustomExercisesInfo,我将android:windowSoftInputMode="adjustPan"放入其中。

 <activity
            android:name=".SetCustomExercisesInfo"
            android:label="@string/setCusExInfo"
            android:windowSoftInputMode="adjustPan" >
 </activity>