2011-11-27 41 views
0

我必須製作一個列表並針對每一行調用不同的意圖。有人能告訴我在代碼中寫什麼嗎?現在的敬酒似乎只表明我正在呼叫該線路。如何爲列表的每一行創建一個新的意圖?

public class Listview extends Activity { 

    static ListView listView; 


    static public class BackgroundWorker extends AsyncTask<Void, Person, Void> { 

     @SuppressWarnings("unchecked") 
     @Override 
     protected void onPreExecute() { 
      // Prima di iniziare a inserire gli elementi svuotiamo l'adapter 
      ((ArrayAdapter<Person>) listView.getAdapter()).clear(); 
      super.onPreExecute(); 
     } 

     @Override 
     protected Void doInBackground (Void... params) { 

      // Qui dentro si possono mettere le operazioni che potrebbero 
      // rallentare il caricamento della listview, come ad sempio il 
      // caricamento da db degli oggetti 



      Person[] people = { new Person("Privacy", "", R.drawable.creep_1) }; 
      Person[] people1 = {new Person("Visualizzazione", "", R.drawable.creep_2)}; 
      Person[] people2= { new Person("Notifiche", "", R.drawable.creep_3)}; 




      // riempimento casuale della lista delle persone 
      Random r = new Random(); 

      for (int i = 0; i < 1; i++) { 
       // Pubblichiamo il progresso 
       publishProgress(people); 
       publishProgress(people1); 
       publishProgress(people2); 

      } 

      return null; 
     } 

     @SuppressWarnings("unchecked") 
     @Override 
     protected void onProgressUpdate (Person... values) { 
      // Aggiungiamo il progresso pubblicato all'adapter 
      ((ArrayAdapter<Person>) listView.getAdapter()).add(values[0]); 
      super.onProgressUpdate(values); 
     } 

    } 

    @Override 
    public void onCreate (Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     listView = (ListView) findViewById(R.id.personListView); 

     listView.setAdapter(new PersonAdapter(this, R.layout.row_item, new ArrayList<Person>())); 

     listView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Person p = (Person) parent.getItemAtPosition(position); 

      Toast.makeText(
         view.getContext(), 
         "Click sulla riga " + p.getFullName(), 
         Toast.LENGTH_SHORT 
         ).show(); 
      } 
     }); 

     new BackgroundWorker().execute(); 
    } 

} 

回答

0

您可以使用switch聲明取決於ListView的position,並調用你想要的活動。

+0

謝謝!!! :d – user1023571

相關問題