Android在一个activity中添加多个listview Android实现在一个activity中添加多个listview的方法
与时俱进 人气:2想了解Android实现在一个activity中添加多个listview的方法的相关内容吗,与时俱进在本文为您仔细讲解Android在一个activity中添加多个listview的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Android,activity,listview,下面大家一起来学习吧。
本文实例讲述了Android实现在一个activity中添加多个listview的方法。分享给大家供大家参考,具体如下:
listview的id一般是这样的android:id="@id/android:list"。请注意,这时的Activity是ListActivity,在这样的Activity中到目前为止,我没有发现添加多个activity的方法。要添加多个listview,所用的Activity要是一般的Activity,listview的id也要自己定义,改成android:id="@+id/mylist"。然后像使用一般的控件一样,初始化就可以了。至于adapter我是继承了BaseAdapter,为每个listview定义一个adapter,然后对应的设置adapter就可以了。
参考代码:
public class myActivity extends Activity implements OnClickListener { private ListViewlistview_psychologicalstate,listview_weatherstate; private ListAdapter listadapter_psychologicalstate,listadapter_weatherstate; private ArrayList<String> psychologicalstatearray = new ArrayList<String>(),weatherstatearray = new ArrayList<String>(); private String [] strpsychologicalstate = new String[]{"郁闷","亢奋","压力","失眠","嗜睡","易惊恐"}; private String [] strweatherstate = new String[]{"湿热","燥热","寒冷"}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.personalizedorderview); findView(); } public void findView() { listview_psychologicalstate = (ListView) findViewById(R.id.psychologicalstatelistid); listview_weatherstate = (ListView) findViewById(R.id.weatherstatelistid); for(int i = 0;i<strpsychologicalstate.length;i++) psychologicalstatearray.add(strpsychologicalstate[i]); for(int i = 0;i<strweatherstate.length;i++) weatherstatearray.add(strweatherstate[i]); listadapter_psychologicalstate = new GetinflamedAdapter(this,psychologicalstatearray); listview_psychologicalstate.setAdapter(listadapter_psychologicalstate); listadapter_weatherstate = new GetinflamedAdapter(this,weatherstatearray); listview_weatherstate.setAdapter(listadapter_weatherstate); } public class GetinflamedAdapter extends BaseAdapter { private Context context; private LayoutInflater mInflater; private ArrayList<String> arraylist; public GetinflamedAdapter(Context context,ArrayList<String> arraylist ) { this.context=context; this.arraylist = arraylist; mInflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { // TODO Auto-generated method stub return arraylist.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return arraylist.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub convertView = mInflater.inflate(R.layout.inflamedchild, null); ViewHolder viewHolder = null; viewHolder = new ViewHolder(); viewHolder.label = (TextView) convertView.findViewById(R.id.bodystateid1); viewHolder.label.setText(arraylist.get(position).toString()); viewHolder.label.setTextColor(Color.GREEN); viewHolder.label.setTextSize(22); convertView.setTag(viewHolder); return convertView; } private class ViewHolder { TextView label; } }
希望本文所述对大家Android程序设计有所帮助。
加载全部内容