zoukankan      html  css  js  c++  java
  • ListView

    代码:

    ListViewActivity:

     1 package com.vanceinfo.ListView;
    2
    3 import android.app.Activity;
    4 import android.database.Cursor;
    5 import android.graphics.Color;
    6 import android.os.Bundle;
    7 import android.provider.ContactsContract;
    8 import android.provider.ContactsContract.PhoneLookup;
    9 import android.view.View;
    10 import android.widget.AdapterView;
    11 import android.widget.LinearLayout;
    12 import android.widget.ListAdapter;
    13 import android.widget.ListView;
    14 import android.widget.SimpleCursorAdapter;
    15 import android.widget.Toast;
    16
    17 public class ListViewActivity extends Activity
    18 {
    19 LinearLayout mLinearLayout;
    20
    21 ListView mListView;
    22
    23 @Override
    24 public void onCreate(Bundle savedInstanceState)
    25 {
    26 super.onCreate(savedInstanceState);
    27 // setContentView(R.layout.main);
    28 // 创建linearLayout布局对象
    29 mLinearLayout = new LinearLayout(this);
    30 // 设置布局LinearLayout的属性
    31 mLinearLayout.setOrientation(LinearLayout.VERTICAL);
    32 mLinearLayout.setBackgroundColor(android.graphics.Color.BLACK);
    33 // 创建ListView对象
    34 mListView = new ListView(this);
    35 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
    36 LinearLayout.LayoutParams.WRAP_CONTENT);
    37 mListView.setBackgroundColor(Color.BLACK);
    38 // 添加mListView到mLinearLayout布局
    39 mLinearLayout.addView(mListView, params);
    40 // 设置显示mLinearLayout
    41 setContentView(mLinearLayout);
    42 // 获取数据库Phones的Cursor
    43 Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
    44 startManagingCursor(cursor);
    45 // ListAdapter是ListView和后台数据的桥梁
    46 ListAdapter adapter = new SimpleCursorAdapter(this,
    47 // 定义List中每一行的显示模板
    48 // 表示每一行包含两个数据项
    49 android.R.layout.simple_list_item_2,
    50 // 数据库的Cursor对象
    51 cursor,
    52 // 从数据库的NAME和NUMBER两个列中取数据
    53 new String[] {PhoneLookup.DISPLAY_NAME},
    54 // 与NAME和NUMBER对应的Views
    55 new int[] {android.R.id.text1});
    56 // 将adpter添加到mListView中
    57 mListView.setAdapter(adapter);
    58 // 为mListView视图添加setOnItemSelectedListener监听
    59 mListView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    60 {
    61
    62 @Override
    63 public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
    64 {
    65 DisplayToast("滚动到第" + Long.toString(parent.getSelectedItemId()) + "项");
    66 }
    67
    68 @Override
    69 public void onNothingSelected(AdapterView<?> parent)
    70 {
    71 // 没有选中
    72 }
    73 });
    74 // 为mListView视图添加setOnItemClickListener监听
    75 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
    76 {
    77
    78 @Override
    79 public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    80 {
    81 DisplayToast("选中了第" + Integer.toString(position + 1) + "项");
    82 }
    83 });
    84 }
    85
    86 // 显示Toast
    87 public void DisplayToast(String string)
    88 {
    89 Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
    90 }
    91 }

    在AndroidManifest.xml中添加权限:

     1 <?xml version="1.0" encoding="utf-8"?>
    2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3 package="com.vanceinfo.ListView"
    4 android:versionCode="1"
    5 android:versionName="1.0">
    6 <uses-sdk android:minSdkVersion="8" />
    7
    8 <application android:icon="@drawable/icon" android:label="@string/app_name">
    9 <activity android:name="ListViewActivity"
    10 android:label="@string/app_name">
    11 <intent-filter>
    12 <action android:name="android.intent.action.MAIN" />
    13 <category android:name="android.intent.category.LAUNCHER" />
    14 </intent-filter>
    15 </activity>
    16 </application>
    17 <!--获得了电话本数据,需要在AndroidManifest.xml中加上权限 -->
    18 <uses-permission android:name="android.permission.READ_CONTACTS"/>
    19 </manifest>

    效果图





  • 相关阅读:
    libevent
    STL中mem_fun和mem_fun_ref的用法
    java的awt和swing的区别于联系
    数据库流程控制的使用IF CASE LOOP LEAVE ITERETA REPEAT WHILE
    mysql的常用函数
    数据库的基本知识点
    使用myeclipse 打包并运行普通java项目
    getClass()与getName()方法
    Java中的final关键字
    基本类型包装类的常量池技术
  • 原文地址:https://www.cnblogs.com/jh5240/p/2229237.html
Copyright © 2011-2022 走看看