編輯:關於Android編程
一、程序運行效果圖:
二、代碼實現
1、main.xml<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:java;">
2、MainActivity
1)點擊事件的第一種處理方式:給button或其他空間加上onClick屬性。(PS:這種處理方式主要體現在XML文件的書寫上)
package com.njupt.phonetest; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.TextView; public class MainActivity extends Activity { private TextView tv_phonenum; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv_phonenum = (TextView) findViewById(R.id.tv_phonenum); } public void call(View v){ String phone_num = tv_phonenum.getText().toString(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + phone_num)); startActivity(intent); } @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; } }
2)定義一個內部類實現OnClickListener接口
public class MainActivity1 extends Activity { private EditText numET; // 由於多個方法使用, 定義為成員變量 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); numET = (EditText) findViewById(R.id.numET); // 找到文本框 Button callBT = (Button) findViewById(R.id.callBT); // 找到按鈕對象 callBT.setOnClickListener(new MyOnClickListener()); // 添加監聽器 } private class MyOnClickListener implements OnClickListener { //定義監聽器類, 實現OnClickListener public void onClick(View v) { // 定義事件對應的處理方法 String num = numET.getText().toString(); // 獲取其中號碼 Intent intent = new Intent(); // 創建意圖對象 intent.setAction(Intent.ACTION_CALL); // 設置意圖的動作(撥打電話) intent.setData(Uri.parse("tel:" + num)); // 設置意圖的數據(電話號碼) startActivity(intent); // 使用意圖開啟一個界面(撥打電話的界面) } } }
3)MainAcitivity實現OnClickListener接口
public class MainActivity2 extends Activity implements OnClickListener {// 當前類即是一個Activity, 也是一個OnClickListener private EditText numET; // 由於多個方法使用, 定義為成員變量 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); numET = (EditText) findViewById(R.id.numET); // 找到文本框 Button callBT = (Button) findViewById(R.id.callBT); // 找到按鈕對象 callBT.setOnClickListener(this); // 把當前對象作為監聽器, 添加到Button上 } public void onClick(View v) { // 定義事件對應的處理方法 String num = numET.getText().toString(); // 獲取其中號碼 Intent intent = new Intent(); // 創建意圖對象 intent.setAction(Intent.ACTION_CALL); // 設置意圖的動作(撥打電話) intent.setData(Uri.parse("tel:" + num)); // 設置意圖的數據(電話號碼) startActivity(intent); // 使用意圖開啟一個界面(撥打電話的界面) } }
3、AndroidManifest.xml
在這裡加上權限打電話的權限:
源碼下載:
AsyncTask原理簡介AsyncTask通過Handler實現異步消息處理。 AsyncTask是一個抽象類,使用的時候必須要實現抽象方法doInBackground
如果listitem裡面包括button或者checkbox等控件,默認情況下listitem會失去焦點,導致無法響應item的事件,最常用的解決辦法 是在listite
“點九”是andriod平台的應用軟件開發裡的一種特殊的圖片形式,文件擴展名為:.9.png 智能手機中有自動橫屏的功能,同一幅界面會在隨著手機(或平
1.activity_main.xml 2.MainActivity.jav