2010-11-19 8 views
18
public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
    AlertDialog.Builder adb = new AlertDialog.Builder(CategoriesTab.this); 

    adb.setTitle("Selected Category"); 
    adb.setMessage("Selected Item is = "+lv1.getItemAtPosition(position)); 
    adb.setPositiveButton("Ok", null); 
    adb.show(); 
} 

Esto actualmente muestra un cuadro de alerta cuando se hace clic en un elemento de listview. Quiero convertir la caja de alertas para cargar un xml específico para cada opción en la que se haga clic. ¿Cómo puedo hacer esto? gracias por su ayuda.Android: ¿cómo crear una carcasa Switch a partir de esto?

+1

¿Qué tiene esto que ver con una instrucción 'switch'? –

+3

encienda el valor que cambia (posición, cuando lo leo desde su código) – KevinDTimm

Respuesta

55
switch(position) { 
    case 0: 
     setContentView(R.layout.xml0); 
     break; 
    case 1: 
     setContentView(R.layout.xml1); 
     break; 
    default: 
     setContentView(R.layout.default); 
} 

espero que esto va a hacer el trabajo!

+0

lo usé y funciona. tan simple de hacer también. Gracias. – Riza

+0

@Riza: ¡bienvenido! – Ads

1
switch(position) { 
    case 0: 
    ... 
    break; 
    case 1: 
    ... 
    break; 
    default: 
    ... 

} 

¿Sabías que?

1

Usted puede hacer esto:

@Override 
protected Dialog onCreateDialog(int id) { 
    String messageDialog; 
    String valueOK; 
    String valueCancel; 
    String titleDialog; 
    switch (id) { 

    case id: 
     titleDialog = itemTitle; 
     messageDialog = itemDescription 
     valueOK = "OK";    
     return new AlertDialog.Builder(HomeView.this).setTitle(titleDialog).setPositiveButton(valueOK, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 
       Log.d(this.getClass().getName(), "AlertItem"); 
      } 
     }).setMessage(messageDialog).create(); 

y luego llamar a

showDialog(numbreOfItem); 
+0

mostrará AlertDialog cuando se haga clic en la lista. Espero que el usuario513784 lo haya implementado. Ahora quiere redireccionar a una actividad específica haciendo clic en la lista. – Ads

0
@Override 
public void onClick(View v) 
{ 
    switch (v.getId()) 
    { 
     case R.id.: 

      break; 
     case R.id.: 

      break; 
     default: 
      break; 
    } 
} 
+1

¡Bienvenido a Stack Overflow! Si bien este fragmento de código puede resolver la pregunta, [incluyendo una explicación] (https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) realmente ayuda a mejorar la calidad de su publicación. Recuerde que usted está respondiendo la pregunta a los lectores en el futuro, y es posible que esas personas no sepan los motivos de su sugerencia de código. –

Cuestiones relacionadas