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 ,