2010-08-08 31 views
8

me han implementado con éxito mi AutoCompleteTextView que se basa fuera una consulta SQLite y se coloca en un adaptador de matriz. Todo está funcionando muy bien, sin embargo, no puedo hacer funcionar mi onclickevent.AutoCompleteTextView evento click en Android

sólo quiero crear una intención de pasar el valor seleccionado a una nueva actividad. Sé cómo crear un onclicklistener. Simplemente no estoy seguro de cómo aplicarlo al cuadro desplegable de AutoCompleteTextView.

Respuesta

14

importa. Lo he resuelto Solo estaba ejecutando mal. El código de abajo completa automáticamente mi TextView basa fuera una declaración SQLite SELECT simple y se ejecuta cuando el usuario selecciona la universidad de la lista desplegable.

El evento onclick crea un nuevo intento y comienza una nueva actividad que pasa a la selección a esta actividad en el intento.

final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.ac_university); 
String[] universities = myDbHelper.getAllUnis(db); 

// Print out the values to the log 
for(int i = 0; i < universities.length; i++) 
{ 
    Log.i(this.toString(), universities[i]); 
} 

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, universities); 
textView.setAdapter(adapter); 

//textView.setOnItemSelectedListener(this); 
textView.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
          long arg3) { 

     Intent intent = new Intent(Main.this, Campus.class); 
     Bundle bundle = new Bundle(); 

     bundle.putString("university_name", arg0.getItemAtPosition(arg2).toString()); 
     bundle.putLong("_id", arg3); 
     intent.putExtras(bundle); 
     startActivity(intent); 
    } 
0

función putExtra se puede usar para este propósito.

Aquí es un ejemplo ...

Formulario de envío de la actividad:

lv.setOnItemClickListener(new OnItemClickListener() 
    { 
     public void onItemClick(AdapterView<?> parent, View v, int pos, long id) { 
      ApplicationInfo x = appinstalled.get(pos); 
      PackageInfo y = appinstall.get(pos); 
      //Intent i = new Intent(InstalledPackages.this, Information.class); 
      i = new Intent(InstalledPackages.this, Information.class); 
      i.putExtra("i",x); 
      i.putExtra("j", y); 
      startActivity(i); 
     } 
    }); 
} 

En el lado receptor:

super.onCreate(savedInstanceState); 
    Intent myIntent = getIntent(); 
    ApplicationInfo i = (ApplicationInfo)myIntent.getParcelableExtra("i"); 
    PackageInfo j = (PackageInfo)myIntent.getParcelableExtra("j"); 
+0

He creado un Clickde que funcione para mis actividades de vista de lista en mi aplicación y me he adaptado para la AutoCompleteTextView, sin embargo, cuando hago clic en el elemento que desee de la lista desplegable el evento no está disparando por lo obviamente no estoy haciendo referencia a la lista desplegable correctamente, así que estoy realmente sólo pidiendo un poco genérica de código ilustra cómo disparar un incluso desde el chasquido de la lista desplegable !! aclamaciones – Ally

Cuestiones relacionadas