編輯:關於android開發
ListView可能是Android開發中最常用的一個控件,但要用的純熟還需要不斷的鍛煉。
建立簡單的ListView
1.在布局文件(.xml)中添加<ListView>標簽
2.在MainActivity.java中用適配器綁定
1 private String[] data = { "Apple", "Banana", "Orange", "Watermelon",
2 "Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango" };
3
4
5 ArrayAdapter<String> adapter = new ArrayAdapter<String>(
6 MainActivity.this, android.R.layout.simple_list_item_1, data);
7 ListView listView = (ListView) findViewById(R.id.list_view);
8 listView.setAdapter(adapter);
可以看到 數組內容無法直接加到ListView中,所以要用適配器。
適配器中我用到了String來顯示字符串,在往後這裡可能會加入更復雜的內容,比如復合類型數據。
ArrayAdapter有多個構造函數,我這裡的值分別是:調用的類,ListView的樣式與數據來源。
簡而言之,數據源是多樣的,要想把他顯示到ListView上,我們要使用適配器。
建立帶圖片的ListView
1.建立一個用於保存復合類型的類
2.創建1相應的布局文件
3.給1建立專用的適配器(extends ArrayAdapter)
4.在MainActivity中為ListView綁定適配器 1 package com.example.ran.listviewdemo;
2
3 /**
4 * Created by Ran on 2016/3/21.
5 */
6 public class MyData
7 {
8 private String name;
9 private int imageId;
10
11 public MyData(String name,int imageId)
12 {
13 this.name = name;
14 this.imageId = imageId;
15 }
16 public String getName() {
17 return name;
18 }
19 public int getImageId() {
20 return imageId;
21 }
22 }
imageId是對應圖片的資源ID
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent"> 5 6 <ImageView 7 android:id="@+id/iimage" 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content" /> 10 11 <TextView 12 android:id="@+id/iname" 13 android:layout_width="wrap_content" 14 android:layout_height="wrap_content" 15 /> 16 </LinearLayout>
1 package com.example.ran.listviewdemo;
2
3 import android.content.Context;
4 import android.view.LayoutInflater;
5 import android.view.View;
6 import android.view.ViewGroup;
7 import android.widget.ArrayAdapter;
8 import android.widget.ImageView;
9 import android.widget.TextView;
10
11 import java.util.List;
12
13 /**
14 * Created by Ran on 2016/3/21.
15 */
16 public class MyDataAdapter extends ArrayAdapter<MyData> {
17 private int resourceId;
18
19 public MyDataAdapter(Context context, int textViewResourceId,List<MyData> objects)
20 {
21 super(context, textViewResourceId, objects);
22 resourceId = textViewResourceId;
23 }
24
25 @Override
26 public View getView(int position, View convertView, ViewGroup parent)
27 {
28 MyData myData = getItem(position);
29 View view = LayoutInflater.from(getContext()).inflate(resourceId, null);
30 ImageView iimage = (ImageView) view.findViewById(R.id.iimage);
31 TextView iname = (TextView) view.findViewById(R.id.iname);
32 iimage.setImageResource(myData.getImageId());
33 iname.setText(myData.getName());
34 return view;
35 }
36 }
1 package com.example.ran.listviewdemo;
2
3 import android.support.v7.app.AppCompatActivity;
4 import android.os.Bundle;
5 import android.widget.ListView;
6
7 import java.util.ArrayList;
8 import java.util.List;
9
10 public class MainActivity extends AppCompatActivity {
11
12 private List<MyData> dataList = new ArrayList<MyData>();
13
14 @Override
15 protected void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.activity_main);
18 initData();
19 MyDataAdapter adapter = new MyDataAdapter(MainActivity.
20 this,R.layout.data_item,dataList);
21 ListView listView = (ListView)findViewById(R.id.list_view);
22 listView.setAdapter(adapter);
23 }
24
25 private void initData()
26 {
27 MyData t1 = new MyData("你真調皮,來,別BB",R.mipmap.t1);
28 MyData t2 = new MyData("你真調皮,來,別BB",R.mipmap.t2);
29 MyData t3 = new MyData("你真調皮,來,別BB",R.mipmap.t3);
30 MyData t4 = new MyData("你真調皮,來,別BB",R.mipmap.t4);
31 MyData t5 = new MyData("你真調皮,來,別BB",R.mipmap.t5);
32 MyData t6 = new MyData("你真調皮,來,別BB",R.mipmap.t6);
33 MyData t7 = new MyData("你真調皮,來,別BB",R.mipmap.t7);
34 MyData t8 = new MyData("你真調皮,來,別BB",R.mipmap.t8);
35
36 dataList.add(t1);
37 dataList.add(t2);
38 dataList.add(t3);
39 dataList.add(t4);
40 dataList.add(t5);
41 dataList.add(t6);
42 dataList.add(t7);
43 dataList.add(t8);
44
45
46 }
47 }

Android 中的Activity、Window、View之間的關系,androidactivity
Android 中的Activity、Window、View之間的關系,androidactivity 一、概述  
Android 調用百度地圖API,androidapi
Android 調用百度地圖API,androidapi一、到 百度地圖開發平台下載SDK http://lbsyun.baidu.com/index.php?title
Android自動連接指定的wifi,免密碼或指定密碼,androidwifi
Android自動連接指定的wifi,免密碼或指定密碼,androidwifi一、運行時的狀態 遇到一個這樣的要求:“不進行掃描操作,怎麼對指定的免密碼WIF
WebView的使用,WebView使用
WebView的使用,WebView使用1.首先修改activity.xml中的代碼: 2.然後MainActivity中的代碼: 3.最後設置權限: <use