当前位置:操作系统 > 安卓/Android >>

Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)

核心代码如下:

MainActivity.java


[java]
package com.example.lession05_dbs; 
 
import java.util.List; 
 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.BaseAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 
 
import com.example.lession05_dbs.dao.PersonDao; 
import com.example.lession05_dbs.dao.PersonDaoImpl; 
import com.example.lession05_dbs.domain.Person; 
 
public class MainActivity extends Activity { 
 
    //listView控件  
    public ListView listView; 
    //显示所有的用户信息  
    public List<Person> persons; 
    //数据库操作的对象  
    public PersonDao personDao ; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
        //实例化数据库操作对象  
        personDao = new PersonDaoImpl(MainActivity.this); 
         
        //执行查询数据  
        persons = personDao.findAll(); 
         
        //根据id获取控件对象  
        listView = (ListView) findViewById(R.id.lv_persons); 
        //设置显示的数据 Adpater  
        listView.setAdapter(new PersonListAdapter()); 
         
        //listView注册事件  
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
 
            /**
             * parent :listView
             * view 每个条目控件
             * position:条目所在的位置
             * id:行号 0 
             */ 
            @Override 
            public void onItemClick(AdapterView<?> parent, View view, 
                    int position, long id) { 
             
                 TextView tv = (TextView) view; 
                  
                // Toast.makeText(getApplicationContext(), tv.getText().toString(),Toast.LENGTH_LONG).show();  
                 
                 //获取控件的文本  
              /*   String text = tv.getText().toString();
                 //拆分
                 String arr[] =  text.split("-");
                 //得到电话
                 String phone = arr[1];
                 //意图
                 Intent intent = new Intent();
                 //设置动作
                 intent.setAction(Intent.ACTION_CALL);
                 //设置数据
                 intent.setData(Uri.parse("tel:"+phone));
                 //执行意图
                 startActivity(intent);*/ 
                  
                //parent listView   
                Person p =  (Person) parent.getItemAtPosition(position); //返回值 实际就是getItem返回的值  
               /* //意图
                 Intent intent = new Intent();
                 //设置动作
                 intent.setAction(Intent.ACTION_CALL);
                 //设置数据
                 intent.setData(Uri.parse("tel:"+p.getPhone()));
                 //执行意图
                 startActivity(intent);
                 */ 
                // Toast.makeText(getApplicationContext(), p.getName(), Toast.LENGTH_LONG).show();  
                 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,