2010-11-19 15 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(); 
} 

Questo al momento visualizza un avviso quando viene cliccato un elemento da listview. Voglio convertire la casella di avviso per caricare un xml specifico per ogni scelta fatta clic. Come posso fare questo? grazie per il vostro aiuto.Android: come creare Switch case da questo?

+1

Che cosa ha a che fare questo con una istruzione 'switch'? –

+3

attiva il valore che cambia (posizione, mentre lo leggo dal tuo codice) – KevinDTimm

risposta

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

Spero che questo farà il lavoro!

+0

ho usato questo e funziona. così semplice da fare pure. Grazie. – Riza

+0

@Riza: benvenuto! – Ads

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

} 

Intendevi quello?

1

Si può fare questo:

@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(); 

e quindi chiamare a

showDialog(numbreOfItem); 
+0

verrà visualizzato AlertDialog quando viene fatto clic sull'elenco. Spero che user513784 lo abbia implementato. Ora vuole reindirizzare a un'attività specifica facendo clic sull'elenco. – Ads

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

      break; 
     case R.id.: 

      break; 
     default: 
      break; 
    } 
} 
+1

Benvenuti in Stack Overflow! Anche se questo snippet di codice può risolvere la domanda, [includendo una spiegazione] (https://meta.stackexchange.com/questions/114762/explaining-entely-code-based-answers) aiuta davvero a migliorare la qualità del tuo post. Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. –

Problemi correlati