Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android開發之在activity中控制另一個activity的UI更新_如何在activity之間傳遞handler

android開發之在activity中控制另一個activity的UI更新_如何在activity之間傳遞handler

編輯:關於Android編程

遇到一個問題,需要在一個activity中控制另一個acitivity做一些更新,沒想到傳遞handler的方法,通過以下方式解決。

1.在MyAPP中定義屬性handler

package jason.com;

import jason.com.MasterActivity.MyHandler;
import android.app.Application;

/**
* 自己實現Application,實現數據共享
* @author jason
*/
public class MyAPP extends Application {
// 共享變量
private MyHandler handler = null;

// set方法
public void setHandler(MyHandler handler) {
this.handler = handler;
}

// get方法
public MyHandler getHandler() {
return handler;
}

}


2、在主activity 中給MyAPP的屬性handler賦值

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);


mAPP = (MyAPP) getApplication();
handler = new MyHandler();
tv = (TextView) findViewById(R.id.tv);
btn_to = (Button) findViewById(R.id.btn_to);

// 設置監聽器
btn_to.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 設置共享變量
mAPP.setHandler(handler);
// 啟動另一個Activity
Intent intent = new Intent(MasterActivity.this,
ToChangeViewActivity.class);
startActivity(intent);
}
});

}


3、在另一個activity中獲取MyAPP中handler進行傳值

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show);

mAPP = (MyAPP) getApplication();
// 獲得該共享變量實例
mHandler = mAPP.getHandler();
findViewById(R.id.btn_chang).setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// 發送消息
mHandler.sendEmptyMessage(CHANGED);
ToChangeViewActivity.this.finish();
}
});

}

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(轉載請說明出處)


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved