博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android---简单的拨号器
阅读量:4626 次
发布时间:2019-06-09

本文共 5311 字,大约阅读时间需要 17 分钟。

8.19更新,这里的adapter中的getview优化并不是很好,最好的方法是用静态内部类,后面文章有利用前面的listview和intent做出来的简单的拨号器,主要是可以直接拨打常用的急救电话mainactivity:
package com.niuli.demo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;public class MainActivity extends Activity {
private Button specialcall; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); specialcall = (Button) findViewById(R.id.button1); specialcall.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(MainActivity.this,Listviewdemo.class); startActivity(intent); } }); }}

listviewadapter:

package com.niuli.demo;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;public class Listviewadapter extends BaseAdapter {
private Context context = null; public Listviewadapter(Context context) { this.context = context; } public Context getContext() { return context; } Listviewdata Data[] = new Listviewdata[]{ new Listviewdata("警匪", "110"), new Listviewdata("急救", "120"), new Listviewdata("火警", "119"), new Listviewdata("交通事故", "122"), new Listviewdata("天气预报", "12121"), new Listviewdata("森林火警", "95119"), new Listviewdata("水上求救", "12395") }; @Override public int getCount() { return Data.length; } @Override public Object getItem(int arg0) { return Data[arg0]; } @Override public long getItemId(int arg0) { return arg0; } /** * 使用自定义的xml来显示,需要LinearLayout的解析器来解析读取 * 重点内容,这里的优化并不是很好,最好的方法是用静态内部类,后面文章有 */ @Override public View getView(int arg0, View arg1, ViewGroup arg2) { LinearLayout ll = null; if (arg1!=null) { ll = (LinearLayout) arg1; }else { //这里需要得到context的实例来完成解析 ll = (LinearLayout) LayoutInflater.from(getContext()).inflate(R.layout.listviewdemo, null); } Listviewdata data = Data[arg0]; ImageView icon = (ImageView) ll.findViewById(R.id.imageView1); TextView textView1 = (TextView) ll.findViewById(R.id.textView1); TextView textView2 = (TextView) ll.findViewById(R.id.textView2); icon.setImageResource(data.getIconm()); textView1.setText(data.getDec()); textView2.setText(data.getNumber()); return ll; }}

listviewdata:

package com.niuli.demo;public class Listviewdata {    public Listviewdata(String dec,String number) {        this.number = number;        this.dec = dec;    }    private String number;    private String dec;    public String getNumber() {        return number;    }    public void setNumber(String number) {        this.number = number;    }    public String getDec() {        return dec;    }    public void setDec(String dec) {        this.dec = dec;    }    public int getIconm() {        return iconm;    }    public void setIconm(int iconm) {        this.iconm = iconm;    }    private int iconm = R.drawable.img1;}

listviewdemo:

package com.niuli.demo;import android.app.ListActivity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ListView;import android.widget.Toast;public class Listviewdemo extends ListActivity{
private Intent intent; String uri = "tel:"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setListAdapter(new Listviewadapter(this)); intent = new Intent(Intent.ACTION_VIEW); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { switch (position) { case 0: intent.setData(Uri.parse(uri+"110")); startActivity(intent); break; case 1: intent.setData(Uri.parse(uri+"120")); startActivity(intent); break; case 2: intent.setData(Uri.parse(uri+"119")); startActivity(intent); break; case 3: intent.setData(Uri.parse(uri+"122")); startActivity(intent); break; case 4: intent.setData(Uri.parse(uri+"12121")); startActivity(intent); break; case 5: intent.setData(Uri.parse(uri+"95119")); startActivity(intent); break; case 6: intent.setData(Uri.parse(uri+"12395")); startActivity(intent); break; default: break; } super.onListItemClick(l, v, position, id); }}

listviewdemo.xml

这里写图片描述

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/-niuli/p/4856431.html

你可能感兴趣的文章
SQL同时删除两张表中的数据
查看>>
在tomcat中用jndi配置数据源启动java web程序
查看>>
js获取当前时间
查看>>
2017 Multi-University Training Contest 3 hdu 6063
查看>>
jdk和jre的区别
查看>>
快速开发一个PHP扩展
查看>>
主攻ASP.NET.4.5 MVC4.0之重生:Entity Framework生成实体类步骤(十三)
查看>>
PHP-密码学算法及其应用-对称密码算法
查看>>
Linux-TCP/IP TIME_WAIT状态原理
查看>>
ScaleYViewPager
查看>>
Codeforces 504 A (Round #285 div.1 A) Misha and Forest
查看>>
适用于SharePoint 2013 的 CAML Desinger
查看>>
动态规划——洛谷_P1057传球游戏
查看>>
vi_7
查看>>
Android调用远程Service的参数和返回值都需要实现Parcelable接口
查看>>
ORACLE 用户权限管理
查看>>
Ubuntu 初学
查看>>
网页分享插件 share.js 国外常用
查看>>
javascript学习笔记1
查看>>
atitit.跨架构 bs cs解决方案. 自定义web服务器的实现方案 java .net jetty HttpListener...
查看>>