• 在一个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;
    }
    }
  • 相关阅读:
    Setting up SystemC and Eclipse for C++ hardware simulation
    Linux操作系统实用教程(Fedora)
    Creating .deb to install bash script program
    tcp cubic代码分析
    Small chat software based on C++/qml (including source code)
    Is TCP PACING enabled by default on linux?
    tcp: avoid minRTT overestimation from delayed ACKs
    Ubuntu Linux操作系统(微课视频版)
    剑指 Offer 59 II. 队列的最大值
    剑指 Offer 68 II. 二叉树的最近公共祖先
  • 原文地址:https://www.cnblogs.com/top5/p/2484921.html
Copyright © 2020-2023  润新知