0

EditTextsの行にあるもので奇妙な問題が発生していListViewます。

基本的に、ユーザーは 1 つのアクティビティからいくつかのエクササイズを選択し、次のボタンをクリックすると、選択したエクササイズの情報を入力する必要がある新しいアクティビティが起動します。この情報には、ウェイト、担当者、セットが含まれます。

一部のエクササイズではウェイトが不要な場合があります。この場合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 つのエクササイズを選択し、そのうちの 1 つがウェイトを必要としない場合、各ウェイトの情報を入力する必要があるアクティビティは次のようになります。 ここに画像の説明を入力

ユーザーが最初の演習の 2 つをクリックしてEditText値を入力すると、キーパッドがポップアップし、ユーザーはEditText最初の演習でそれぞれにいくつかの値を入力します。

ここに画像の説明を入力

ここでの問題は、ユーザーが戻るボタンを押すと、最初の演習で入力された値が、最後の演習のEditTexts最後の 2 つにジャンプするように見えることです。このようなもの:EditTextsListView

ここに画像の説明を入力

この情報はPick Push upではなく に設定する必要があるため、これは適切ではありませんShoulder press

この問題の正確な原因と、それを克服する方法を教えてください。

関連性があると思われるコードが他に必要な場合は教えてください。無関係かもしれない多くのコードを含めたくありませんでした。

また、最初の演習の 1 つをもう一度クリックする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 に答える