Android中如何為ListView設定待用資料

來源:互聯網
上載者:User

Android中如何為ListView設定待用資料

有的時候我們需要為一個listview設定固定的資料,下邊就是如何設定靜態資料

布局檔案listview 的首頁面

 

然後的一個布局檔案為每一個listview的item,listview_item.xml有圖片和文字

     

然後關鍵的是如何設定待用資料:
這介面的控制類ListViewUseAdapter.java

import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.Toast;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;public class ListViewUseAdapter extends Activity {    private ListView listview;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.listview_test);        listview = (ListView) this.findViewById(R.id.listview);        // 設定適配器的圖片資源        int[] imageId = new int[] { R.drawable.chat_tool_camera,                R.drawable.chat_tool_location, R.drawable.chat_tool_paint,                R.drawable.chat_tool_video, R.drawable.chat_tool_voice,                R.drawable.about_brand };        // 設定標題        String[] title = new String[] { 相機, 定位, 畫筆, 視頻, 聲音, 聊天 };        List> listitem = new ArrayList>();        // 將上述資源轉化為list集合        for (int i = 0; i < title.length; i++) {            Map map = new HashMap();            map.put(image, imageId[i]);            map.put(title, title[i]);            listitem.add(map);        }        ListViewAdapter adapter = new ListViewAdapter(this, listitem);        listview.setAdapter(adapter);        listview.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView parent, View view,                    int position, long id) {                Toast.makeText(ListViewUseAdapter.this, haha, Toast.LENGTH_SHORT).show();             }        });    }}

然後需要的適配器如下:

import java.util.List;import java.util.Map;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class ListViewAdapter extends BaseAdapter {    private Context context;    private List> listitem;    public ListViewAdapter(Context context, List> listitem) {        this.context = context;        this.listitem = listitem;    }    @Override    public int getCount() {        return listitem.size();    }    @Override    public Object getItem(int position) {        return listitem.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        if (convertView == null) {            convertView = LayoutInflater.from(context).inflate(R.layout.listview_item, null);        }        ImageView imageView = (ImageView) convertView.findViewById(R.id.listitem_iv);        TextView textView = (TextView) convertView.findViewById(R.id.listitem_tv);        Map map = listitem.get(position);        imageView.setImageResource((Integer) map.get(image));        textView.setText(map.get(title) + );        return convertView;    }}

效果如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.