編輯:關於Android編程
Intent:意圖,協助完成Android各個組件之間的通訊
實現跳轉功能有兩種實現方式:1.無返回值的跳轉 2.有返回值的跳轉
一、無返回值的跳轉實現需要用到的方法:startActivity(intent)
二、有返回值的跳轉實現需要用到的方法:
startActivityForResult(intent,requestCode)//有返回值
onActivityResult(int requestCode,int resultCode,Intent data)//接收返回值A頁面
setResult(resultCode,data)//設置返回值B頁面
第一種方法
①創建兩個Acitivity.java兩個xml
②重寫onCreate()方法、setContentView(R.layout.factivity)引入頁面
③在AndroidMainifest.xml中聲明
包括改名字name屬性、有intent_filter的是首啟動頁面
④按鈕初始化(聲明、findViewById)、setOnclickListener()
⑤在onClick()中
Intent intent=new Intent(FActivity.this,SAcitivity.class)
//(上下文對象,)上下文對象也可以聲明一個Context的全局化變量,在使context=this
//目標文件
startActivity(intent);
第二種方法
有返回結果的頁面跳轉。
FActivity第一個頁面中:
1、startActivityForResult(intent,requestCode)
第一個參數是Intent對象
第二個參數是請求的一個標志
2、通過startActivityForResult跳轉,接收返回數據的方法:【在按鈕的點擊事件中】
onActivityResult(int requestCode,int resultCode,Intent data)
requestCode:請求的標志(不同的頁面標志不同,通過這個標志接收不同的返回數據)
resultCode:第二個頁面返回的標志(通過這兩個標志判斷是哪個頁面返回的數據)
data:第二個頁面回傳的數據
SActivity第二個頁面中:setResult(resultCode,data)
3、回傳到第一個頁面的實際上是一個Intent對象【在按鈕的點擊事件中】
Intent data = new Intent();
data.putExtra(data,content); //事先初始化了一個變量private String content = 你好;
setResult(2,data);
finish(); //結束當前頁面
我將這兩種方法寫在一起,不要需要創建的.class .xml太多了; FActivity.class 關聯factivity.xml,SActivity.class 關聯sactivity.xml。然後在AndroidMainfest.xml加入FActivity,SActivity,然後修改
具體實現:
FActivity.class:
package com.example.administrator.activitydemo;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
/**
* Created by Administrator on 2015/8/31.
*/
public class FActivity extends Activity {
private Button button;
private Button bt;
private Context context;
private TextView textView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.factivity);
/*
*
*
* ①創建兩個Acitivity.java兩個xml
②重寫onCreate()方法、setContentView(R.layout.factivity)引入頁面
③在AndroidMainifest.xml中聲明
包 括改名字name屬性、有intent_filter的是首啟動頁面
④按鈕初始化(聲明、findViewById)、setOnclickListener()
⑤在onClick()中
Intent intent=new Intent(FActivity.this,SAcitivity.class)
/ /(上下文對象,)上下文對象也可以聲明一個Context的全局化變量,在使context=this
//目標文件
startActivity(intent);
*/
context = this;
textView = (TextView) findViewById(R.id.textView);
button = (Button) findViewById(R.id.button_first);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(context,SActivity.class);
startActivity(intent);
}
});
bt = (Button) findViewById(R.id.button2);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context,SActivity.class);
startActivityForResult(intent,1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==1&&resultCode==2){
String context = data.getStringExtra(data);
textView.setText(context);
}
}
}
package com.example.administrator.activitydemo;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
/**
* Created by Administrator on 2015/8/31.
*/
public class SActivity extends Activity {
private Button button;
private String context = Hello;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sactivity);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent data = new Intent();
data.putExtra(data,context);
setResult(2,data);
//銷毀這個頁面
finish();
}
});
}
}
如何使用Android中的OpenGL ES媒體效果
Android的媒體效果框架允許開發者可以很容易的應用多種令人印象深刻的視覺效果到照片或視頻之上。作為這個媒體效果的框架,它使用GPU來處理圖片處理的過程,它僅僅接收Op
android創建桌面快捷鍵shortcut
有很多人也寫過創建桌面快捷鍵的blog,但是大部分都只講了怎麼用,其實技術使用起來都很簡單,但是你使用後下次還知道嗎? 根本原因還是不清楚原理,今天我就來講講shor
開源Android-PullToRefresh下拉刷新源碼分析
PullToRefresh 這個庫用的是非常至多,github 今天主要分析一下源碼實現.我們通過ListView的下拉刷新進行分析,其它的類似。整個下拉刷新 父View
從零開始學android小示例程序
布局文件復制代碼 代碼如下:<RelativeLayout xmlns:android=http://schemas.android.com/apk/res/and