Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)
来源:互联网 发布:mysql 修复数据库 编辑:程序博客网 时间:2024/05/02 00:20
Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)
分类: java Android开发2013-06-05 00:20 347人阅读 评论(0)收藏 举报
Android开发Java
核心代码如下:
MainActivity.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();
- int lid = (int) parent.getItemIdAtPosition(position);
- //
- Toast.makeText(getApplicationContext(), lid+"", Toast.LENGTH_LONG).show();
- }
- });
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- class PersonListAdapter extends BaseAdapter{
- //告诉你有多少个条目
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return persons.size();
- }
- //返回这个为控件对应的数据
- @Override
- public Object getItem(int position) {
- // TODO Auto-generated method stub
- return persons.get(position);
- }
- //返回条目所在的位置
- @Override
- public long getItemId(int position) {
- // TODO Auto-generated method stub
- return position;
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- //创建一个显示的控件 每个条目对应的控件
- TextView tv = new TextView(MainActivity.this);
- tv.setText(persons.get(position).getName()+"-"+persons.get(position).getPhone());
- return tv;
- }
- }
- }
<uses-permission android:name="android.permission.CALL_PHONE"/>
其他实体类,接口 和实现类,参见上篇博文
点击打开链接- Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)
- Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)
- Android进阶之读取手机联系人显示listview并点击拨号(CursorAdapter)
- Android中的使用ListView控件显示List集合中的数据,并对Item响应选择事件(方法一)
- Android中的使用ListView控件显示List集合中的数据,并对Item响应选择事件(方法二)
- Android的ListView中的长按事件触发点击事件
- Android开发之ListView利用OnScrollListener实现分页加载数据
- Android开发之ListView利用OnScrollListener实现分页加载数据
- listview中的控件点击
- Android ListView嵌套ListView,正确触发子ListView中的被点击项
- 19.点击listView中的子控件,实现点击效果
- Android开发入门之采用ListView实现数据列表显示
- android listview嵌套gridview,并实现grid元素部分显示以及点击展开与折叠
- 遍历控件中的所有控件 并设置显示属性
- Android 通过GET请求利用pull解析器获取XML格式数据在ListView控件显示
- 微信小程序实现滑动tab切换和点击tab切换并显示相应的数据(附源代码)
- ListView应用------ListView控件显示List集合中的数据,并对Item响应选择事件(法一)
- ListView应用------ListView控件显示List集合中的数据,并对Item响应选择事件(法二)
- 香港主机空间搜索引擎会不收录吗?
- Apache CXF2+Spring2.5轻松实现WebService[附源码]
- #坑#小米4.0稳定版不能获取root权限
- IOS开发笔记 - 先有鸡,还是先有蛋?相互引用的奇遇!
- POJ-1050-To the Max
- Android开发(11)-利用listview控件显示person表中的所有数据(并实现点击触发拨号程序)
- UVA 10054 The Necklace(euler)
- 加急审核
- 为什么Hadoop将一定会是分布式计算的未来?
- VC6在对话框里,给控件加提示TIPS——最简单的方法
- 8 个最佳 PHP 库
- ORACLE连接字符串里每个参数的具体意思
- Ubuntu 10.10 安装VIM
- 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.