Android 如何为列表的每一行创建新的意图?
我必须列出一个清单,并为每一行调用不同的意图。有人能告诉我用代码写什么吗?现在的祝酒词似乎只是表明我在打那条电话Android 如何为列表的每一行创建新的意图?,android,android-layout,listadapter,Android,Android Layout,Listadapter,我必须列出一个清单,并为每一行调用不同的意图。有人能告诉我用代码写什么吗?现在的祝酒词似乎只是表明我在打那条电话 public class Listview extends Activity { static ListView listView; static public class BackgroundWorker extends AsyncTask<Void, Person, Void> { @SuppressWarnings("unch
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();
}
}
公共类Listview扩展活动{
静态列表视图列表视图;
静态公共类BackgroundWorker扩展AsyncTask{
@抑制警告(“未选中”)
@凌驾
受保护的void onPreExecute(){
//主要是一种胶质元件的植入物
((ArrayAdapter)listView.getAdapter()).clear();
super.onPreExecute();
}
@凌驾
受保护的Void doInBackground(Void…参数){
//这是一个很好的选择
//拉伦塔雷酒店
//德格利奥格蒂酒店
Person[]people={newperson(“隐私”),R.drawable.screw_1};
Person[]people1={newperson(“Visualizazione”,R.drawable.screw_2)};
Person[]people2={newperson(“Notifiche”,“Notifiche”,“R.drawable.screw_3”);
//里姆皮门托休闲酒店
随机r=新随机();
对于(int i=0;i<1;i++){
//进步党
出版进度(人);
出版进展(人1);
出版进展(人2);
}
返回null;
}
@抑制警告(“未选中”)
@凌驾
受保护的void onProgressUpdate(个人…值){
//所有适配器的进展
((ArrayAdapter)listView.getAdapter()).add(值[0]);
super.onProgressUpdate(值);
}
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView=(listView)findViewById(R.id.personListView);
setAdapter(新的PersonalAdapter(这个,R.layout.row_项,新的ArrayList());
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Person p=(Person)parent.getItemAtPosition(position);
Toast.makeText(
view.getContext(),
“单击sulla riga”+p.getFullName(),
吐司长度
).show();
}
});
新建BackgroundWorker().execute();
}
}
您可以根据ListView的位置使用开关
语句
并调用所需的活动