【实验】电话拨号、动态添加按钮
来源:互联网 发布:淘宝举报卖家 编辑:程序博客网 时间:2024/05/21 20:26
MainActivity2:
package com.example.lab2;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.view.Gravity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnLongClickListener;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;import android.widget.GridLayout;import android.widget.GridLayout.LayoutParams;import android.widget.GridView;import android.widget.ImageButton;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class MainActivity2 extends Activity {Context context;GridLayout gl;Button btn;String temp;TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); init(); //初始化 int count=1; final Button[] btn = new Button[30]; for(int i=0;i<5;i++) for(int j=0;j<3;j++) { System.out.println("count:"+count); btn[i*3 + j] = new Button(this); btn[i*3 + j].setWidth(100); switch(i*3 + j) { case 9:btn[i*3 + j].setText("*"); break; case 10:btn[i*3 + j].setText("0"); break; case 11:btn[i*3 + j].setText("#"); break; case 12:btn[i*3 + j].setText("清除"); break; case 13:btn[i*3 + j].setText("拨打"); break; case 14:btn[i*3 + j].setText("返回"); break; default:btn[i*3 + j].setText(String.valueOf(count)); break; } count++; GridLayout.Spec rowSpec = GridLayout.spec(i); //设置它的行和列 GridLayout.Spec columnSpec=GridLayout.spec(j); GridLayout.LayoutParams params=new GridLayout.LayoutParams(rowSpec,columnSpec); params.setGravity(Gravity.LEFT); gl.addView(btn[i*3 + j],params); final int number = i*3+j; OnClickListener listener = new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubString num="";switch(number){case 9:num = "*"; temp = tv.getText().toString(); tv.setText(temp + num); break;case 10: num = "0"; temp = tv.getText().toString(); tv.setText(temp + num); break;case 11: num = "#"; temp = tv.getText().toString(); tv.setText(temp + num); break;case 12:tv.setText("");break;case 13: String PhoneNumber = tv.getText().toString(); Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + PhoneNumber)); startActivity(intent); break;case 14: int len = tv.getText().toString().length(); String substr = tv.getText().toString().substring(0, len-1); tv.setText(substr); break; default: num = String.valueOf(number+1); temp = tv.getText().toString(); tv.setText(temp + num); break;} //Toast.makeText(MainActivity2.this, "num", Toast.LENGTH_SHORT);} }; btn[number].setOnClickListener(listener); } } public void init() { gl = (GridLayout)findViewById(R.id.gl); context = MainActivity2.this; tv = (TextView)findViewById(R.id.tv); } }
xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv" android:maxLines="2" android:textSize="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <GridLayout android:id="@+id/gl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="3" android:rowCount="5" ></GridLayout> </LinearLayout>
0 0
- 【实验】电话拨号、动态添加按钮
- 电话拨号
- 电话拨号
- 电话拨号
- 电话拨号
- Android中动态注册电话拨号拦截(ACTION_NEW_OUTGOING_CALL)
- gridview动态添加按钮
- UIActionSheet动态添加按钮
- Coolite动态添加按钮
- 动态添加按钮
- 添加动态按钮
- 动态添加UIActionSheet按钮
- 动态添加按钮
- iOS 动态添加按钮
- 动态添加UIActionSheet按钮
- 动态添加button按钮
- 动态添加发帖按钮
- [VB.NET]电话拨号
- 有待整理的工作中遇到的问题
- 获取版本号和清除缓存
- 基于Antisamy项目实现防XSS攻击
- 使用反射 实例化 构造器带有数组参数的类
- poj 1840hash
- 【实验】电话拨号、动态添加按钮
- JQuery validation源码解析
- Add platform android error
- Xcode 6.1 做ipa企业级分发(In-House模式)详细步骤
- tomcat内存溢出设置JAVA_OPTS
- Xcode7_IOS开发之免费证书真机调试
- PHP对象转成多维数组
- MariaDB 10.1 可每秒处理一百万次查询
- 从头认识java-2.4 逻辑运算符