Ich habe eine Listview in meiner Anwendung, die im Grunde ein Fragebogen ist, so gibt es einige EditTexte, die der Benutzer ausfüllen muss. Ich habe folgende Probleme aufgetreten:Android: EditText in ListView Ausgabe
Einige der EditText erfordern numerische Eingabe, so stelle ich die input in der entsprechenden XML-Typ als numerische jedoch, wie wenn ich auf dem EditText die numerische Tastatur angezeigt wird aber fast sofort verschwindet es und die normale Tastatur wird angezeigt.
Wie Sie sich vorstellen können, muss ich die Werte speichern, die der Benutzer in diesen EditTexts eingibt. Das Problem, das ich damit habe, ist, dass, nachdem ich etwas Text in EINIGEN EditTexts eingegeben habe und ich nach unten scrolle, der Text weg ist, wenn ich zurück gehe. Sie können in meinem Code sehen, dass ich versucht habe, dies zu verhindern, und ich sollte erwähnen, dass es mit Checkboxen perfekt funktioniert.
Am Anfang hatte ich Probleme mit dem Fokus zu verlieren, aber ich löste es mit Blick auf andere Fragen (hinzugefügt abcendantFocusablity = "beforeDescendants" in die ListView und windowSoftInputMode = "adjustPan"). Funktioniert gut außer, wenn ein EditText unterhalb der Hälfte des Bildschirms ist, verliert es den Fokus, sobald ich anfange, in es einzugeben. getView Verfahren zur Liste Adapter:
public View getView(final int position,View result,ViewGroup parent) { final ViewHolder vh; final Question question = values.get(position); if(holders[position]==null) vh = new ViewHolder(); else vh = holders[position]; LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if(question.getQuestionType().equals(Question.TYPE_CLOSED)) { result = inflater.inflate(R.layout.closed_question_list_item, null); vh.cb = (CheckBox)result.findViewById(R.id.checkbox); vh.cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { vh.isChecked = isChecked; holders[position] = vh; } }); vh.cb.setChecked(vh.isChecked); } else { result = inflater.inflate(R.layout.numeric_question_list_item, null); vh.et = (EditText)result.findViewById(R.id.question_et); vh.et.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable s) { vh.tvValue = s.toString(); holders[position] = vh; Log.i(TAG,"Entered afterTextChanged for "+ question.getText()); } @Override public void beforeTextChanged(CharSequence s, int start,int count, int after) { } @Override public void onTextChanged(CharSequence s, int start,int before, int count) { } }); vh.et.setText(vh.tvValue); } vh.tv = (TextView)result.findViewById(R.id.question_text); vh.tv.setText(question.getText()); holders[position] = vh; result.setTag(vh); return result; }
vielleicht dies können Sie http://stackoverflow.com/questions/8772714/edittext-loses-content-on-scroll-in-listview?rq=1 – JahShaka
helfen, wie Sie Ausgabe # 3 gelöst haben? Wenn gelöst, bitte posten Sie die Antwort – desidigitalnomad