密集时由键盘隐藏的ListView中的EditText

Til*_*l S 10 android listview focus android-edittext

我有一个包含EditText的行的ListView.

当我单击EditText并且它尚未聚焦时它会获得焦点,键盘出现并且EditText被移动到CandidateView上方(所需的行为).

然而,当我按下键时,EditText保持焦点并接收输入但向下移动并被键盘遮挡(前一个移动被反转).

当我在没有显示键盘的情况下选择EditText时单击EditText,键盘会弹出,但EditText不会移动到正确的位置(CandidateView上方).它仍然接收输入.

我添加一个包含EditText的标题视图,一切正常.

这是我的ArrayAdapter的代码,其中创建了行视图:

View view = inflater.inflate(R.layout.row_profile_entry_text, null);


final String question = getItem(position);

TextView textViewQuestion = (TextView) view.findViewById(R.id.rpeq_TextViewQuestion);
textViewQuestion.setText(question);

final EditText editTextAnswer = (EditText) view.findViewById(R.id.rpeq_EditTextAnswer);

editTextAnswer.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
    }

    @Override
    public void afterTextChanged(Editable s) {
        mAnswers.put(question, s.toString());
    }
});

if (mAnswers.containsKey(question)) {
    editTextAnswer.setText(mAnswers.get(question));
}

return view;
Run Code Online (Sandbox Code Playgroud)

我还要强调,我已经添加
android:windowSoftInputMode="adjustPan"到Manifest和
android:descendantFocusability="beforeDescendants"ListView中,因为大多数其他问题的答案都表明了这一点.

没有adjustPanEditText根本无法获得焦点,但它不能完全解决问题.

有人知道我做错了什么吗?

Arc*_*pgc 1

尝试这个:

<activity name="YourActivity"
    android:windowSoftInputMode="stateVisible|adjustResize|adjustPan">
</activity>
Run Code Online (Sandbox Code Playgroud)

在清单文件中。

adjustResize如果您使用的是ScrollView.