2011-11-27 1 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

당신리스트 뷰의 position에 따라 switch 문을 사용하여 원하는 작업을 호출 할 수 있습니다.

+0

감사합니다. !!! :디 – user1023571

관련 문제