0

EditTextsListView.

基本上,用户从一个活动中选择一些练习,当他单击下一个按钮时,将启动一个新活动,他需要在其中输入他选择的练习的信息。这些信息包括重量、次数和组数。

有些练习可能不需要重量。如果是这种情况,我将weight EditTextListView中的启用设置为 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第一个练习中输入的值似乎跳到了最后EditTexts一个练习的最后两个ListView。像这样的东西:

在此处输入图像描述

这是不对的,因为此信息应设置为Pick Push up, 而不是Shoulder press

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

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

此外,如果我再次单击EditTexts第一个练习中的一个,则值会从上一个练习跳回它们。就像我输入的值“挂”在外面,EditTexts弹出的键盘似乎让它们跳来跳去。

谢谢

4

1 回答 1

0

我已经解决了这个问题。

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

因此,我为每个练习输入信息的活动被调用SetCustomExercisesInfo并放入android:windowSoftInputMode="adjustPan"其中。

 <activity
            android:name=".SetCustomExercisesInfo"
            android:label="@string/setCusExInfo"
            android:windowSoftInputMode="adjustPan" >
 </activity>
于 2013-03-23T18:43:11.080 回答