編輯:關於Android編程
首先看一下activity返回數據的結構圖
以前我們啟動另外一個activity用的是
startActivity(Intent intent)
startActivityForResult(Intent intent,int requestCode)intent就不用說了 其中requestCode就是請求碼 為了在另外一個activity中分辨 每個請求碼應該做的事情
具體作用是:
我們實現的效果是:
主界面是這樣當我們點擊選擇按鈕後打開另外一個activity當我們點擊號碼時,結束這個activity並且在主activity中的編輯框中顯示這個號碼
具體實現代碼如下。
MainActivity
package com.example.activityforresult; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { private EditText editText; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText=(EditText) findViewById(R.id.editText); button=(Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //從另外一個activity得到結果不能再用startActivity()方法要用這個方法 startActivityForResult(new Intent(MainActivity.this,ResultActivity.class), 0x1); } }); } /* * 如果要得到返回的結果 一定要實現這個類 * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub //如果data等於null返回 if(data==null) return ; String phoneNumber=data.getExtras().getString("phoneNumber"); //更新編輯框內容為所選的號碼 editText.setText(phoneNumber); } }
然後調用finish()方法結束這個activity 別忘記在AndroidManifest配置一下信息如下
所以ResultActivity代碼如下
package com.example.activityforresult; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class ResultActivity extends Activity{ private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); textView=(TextView) findViewById(R.id.textView); textView.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent intent=new Intent(); intent.putExtra("phoneNumber", textView.getText().toString()); setResult(0x1, intent); finish(); } }); } }activity_main.xml
這是運行結果
上一篇介紹了Animation動畫其一:Tween補間動畫。 這篇文章接下來介紹Animation另一種動畫形式:Frame逐幀動畫。 Frame動畫是一系列圖片按照一定
1 背景其實這篇文章可能有些小題大作,但回過頭想想還是很有必要的,有點陰溝裡翻船的感覺。相信大家都知道Android API Level 8開始提供了為應用程序備份和恢復
在Android上有很多不規則按鈕。如: vcv7o6zV4rj2yrG68s7Sw8e74beiz9ajrLu5w7vT0LTvtb3SqrXE0Ke5+6Osu7nT
直接附代碼:#import "MyView.h"#import // 行距const CGFloat kGlobalLineLeading = 5.0