2013-03-23 3 views
0

У меня возникла странная проблема с некоторыми EditTexts, которые у меня есть в строках моего ListView.Значения некоторых EditTexts, похоже, перемещаются в другие EditTexts

В основном пользователь выбирает некоторые упражнения из одного действия, и когда он нажимает на следующую кнопку, запускается новое действие, где ему нужно вводить информацию для упражнений, которые он выбрал. Эта информация включает в себя весы, повторы и комплекты.

Некоторые упражнения могут не требовать весов. Если дело обстоит именно так я установил weightEditText в ListView подряд позволила ложным:

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 для первого упражнения, кажется, чтобы перейти к двум последним EditTexts последнего упражнения в ListView. Что-то вроде этого:

enter image description here

Это не так, как эта информация должна быть установлена ​​для Pick Push up, вместо Shoulder press.

Что именно вызывает эту проблему, и как я могу ее преодолеть.

Скажите, пожалуйста, если вам понадобится что-нибудь еще из моего кода, который, по вашему мнению, является релевантным. Я не хотел включать много кода, который может быть неактуальным.

Также, если я снова нажму на один из EditTexts первого упражнения, значения вернутся к ним из последнего упражнения. Это как значения, которые я вводил, «висят» за пределами EditTexts, и клавиатура появляется, кажется, заставляет их прыгать.

Thanks

ответ

0

Я решил проблему.

Если кто-либо сталкивается с подобной проблемой, все, что вам нужно сделать, это разместить android:windowSoftInputMode="adjustPan" в manifest под действие.

Таким образом, активность, в которой я вводим информацию для каждого упражнения, называется SetCustomExercisesInfo, и я разместил в ней android:windowSoftInputMode="adjustPan".

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

не является проблемой, вызванной тем, что listview повторно использует представления, так что если пользователь прокручивает, старые представления до прокрутки будут отображаться как новые? –

+0

@androiddeveloper Я не совсем уверен быть честным. –

Смежные вопросы