AlertDialog y teclado blando
Hola chicos Estoy desarrollando una aplicación android. Estoy usando la clase alertDialog. Donde tengo un listview personalizado y 2 buttons.In mi listview personalizado tengo un campo EditText. Pero cuando el diálogo aparece y toco el EditText mientras que el Cursor comienza a parpadear en el cuadro de texto el softKeyboard no aparece. ¿Es debido a la alertdialog? Gracias por tu tiempo.
public class ProgressReport extends ListActivity { private ResultSet receivedData; private StudentProgressAdapter ca; private Button btnRtn; ArrayList<String> content =new ArrayList<String>(); ArrayList<String> subContent = new ArrayList<String>(); AlertDialog dialog ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(android.R.style.Theme_Holo_Light); setContentView(R.layout.examslayout); for(int i =0;i<20;i++) content.add("ELEMENTARY: "+i); for(int i =0;i<20;i++) subContent.add("ΒΑΣΙΚΗ ΚΑΤΗΓΟΡΙΑ"); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Student Stats").setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, close // current activity //MainActivity.this.finish(); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, just close // the dialog box and do nothing dialog.cancel(); } });; ListView modeList = new ListView(this); modeList.setAdapter(new ProgressReportAdapter2(this, new int[]{R.layout.arrowlistview}, new int[]{R.id.textView1,R.id.textView2},content,20,subContent)); builder.setView(modeList); dialog = builder.create(); dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); Intent intent = getIntent(); receivedData = (ResultSet) intent.getSerializableExtra("SentData"); ArrayList<String> content = new ArrayList<String>(MainPagerActivity.receivedData.getStudents().length); for (int i=0; i <receivedData.getStudents().length; i++) content.add(receivedData.getStudents()[i].getProperty(3).toString()+" "+receivedData.getStudents()[i].getProperty(2).toString()); ca= new StudentProgressAdapter(this, new int[]{R.layout.stdprgrlistview}, new int[]{R.id.textView1}, content,content.size()); setListAdapter(ca); btnRtn= (Button) findViewById(R.id.btn); btnRtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } }); } @Override public void onListItemClick(ListView l, View v, int position, long id) { dialog.show(); }
- Cómo evitar que aparezca automáticamente el teclado de Android cuando comience la actividad
- EXCEPCIÓN FATAL: main java.lang.RuntimeException: El contenido tiene vista con el atributo id 'android.R.id.list' que no es una clase ListView
- Cómo ejecutar dos bucles FOR al mismo tiempo
- La regla de la lechada personalizada no aparece en el estudio de eclipse / android
- No puede importar java.awt.geom en eclipse
- Google App Engine Java HTTP Publicar imagen desde el método API a Servlet
- Sistema de huellas dactilares en Java
- Cómo evitar la asignación de iteradores de ArrayList en Java
- Cómo cambiar la cámara Android a la vertical en la vista de superficie?
- Cuándo elegir variables para declarar como estática final
- MediaController - Error cuando se muestra Show ()
- Cómo utilizar la conexión SQLite desde la carpeta de activos
- ¿Es esta una buena técnica (Uso de titular de datos) para eliminar la clase anónima, para reducir el riesgo de pérdida de memoria
Prueba esto:
AlertDialog alertToShow = alert.create(); alertToShow.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); alertToShow.show();
Actualizar:
Usted puede modificar su código como este
dialog = builder.create(); dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); dialog.show();
Espero que esto ayude.
Después de la creación del cuadro de diálogo, añada:
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);`
- Comparar y combinar dos sonidos en android
- ¿Puedo emular una conexión wi-fi para probar Wi-fi Direct?