Я пробовал так много способов, но я просто не могу получить отображение клавиатуры в своей деятельности.Клавиатура просто не показывает !!!У меня есть кнопка в моей деятельности, которая при нажатии вызывает метод ниже, который создает диалог со списком внутри и сверху (в заголовке), есть текст редактирования.
Я бы хотел, чтобы пользователь ввел букву в тексте dit, и адаптер массива будет отфильтрован и покажет только соответствующие результаты.Так что все работает отлично, за исключением того, что не отображается клавиатура, поэтому вы не можете вводить любой текст в текст.Вот код:
private void buildDialog(final int cual) {
// dialog que va mostrar una lista de clientes o articulos
AlertDialog.Builder ab = new AlertDialog.Builder(this);
if(cual==1){
mAdapter2 = new EventAdapter(this, clientes);
}else if (cual==2){
mAdapter2=new EventAdapter(this, ventas);
}
lv2=new ListView(this);
edi=new EditText(this);
edi.setHint("empiece a escribir");
edi.addTextChangedListener(filterTextWatcher);
lv2.addHeaderView(edi);
lv2.setAdapter(mAdapter2);
lv2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(v.equals(edi) && hasFocus==true){
alertDialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
ab.setView(lv2);
alertDialog = ab.create();
alertDialog.setButton(getResources().getString(R.string.cancelar),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();
}
В манифесте, который у меня есть для этого действия:
<activity android:name="com.tresipunt.iturist.Ventas2"
android:label="@string/ventas"
android:screenOrientation="portrait"
android:configChanges="keyboard">
</activity>
Текстовый шов edittext, чтобы получить фокус, когда диалоговое окно открывается, получает измененный цвет икогда я отлаживаю, состояние fovus меняется на true или false, с признанием
Вещи, которые я пробовал, и которые не работают: * удаление кнопки отмены * добавление слушателя фокуса к тексту непосредственно вместо представления спискано это не помогает * этот код для alertDialog: alertDialog.requestFeature (). addContentView (edi, new LinearLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
- вместо того, чтобы пытаться вместо этогоно тот же эффект ...
- добавление таких: //edi.setFocusable(true);//edi.setFocusableInTouchMode(true);//edi.requestFocus();
* удаление edi.addTextChangedListener (filterTextWatcher);(Кто знает, может быть, 2 слушателя - это слишком много для него), но это не работает, но НИЧТО, кажется, не работает, и я проверил другие ссылки с похожей проблемой, но либо нет даже решения, либо оно не работает для меня:
Программно скрыть / показать программную клавиатуру Android
[http://groups.google.com/group/android-developers/browse_frm/thread/17210d784766602d/d430c900a9c4019c?pli=1]
1 Android: показать программное обеспечениеклавиатура автоматически, когда фокус находится на EditText
Любой совет будет приветствоваться или есть что-то, что я делаю неправильно?Большое спасибо,