Listen? listen!
来源:互联网 发布:台州淘宝司法拍卖网 编辑:程序博客网 时间:2024/05/16 08:51
一、 你所熟悉的Listener
兩個Activity之間,或者Activity與Service之間,如果它們是在同一個進程(Process)裡,則設計Listener來進行溝通是個好方法。就像Activity與Button之間,也常常使用指令:
public class myActivity extends Activity {
public void onCreate(Bundle icicle) {
………….
Button btn1 = new Button(this);
…………
btn1.setOnClickListener(listener);
}(www.whtarena.com.cn)
OnClickListener listener = new OnClickListener() {
………
};
}
這個Listener可以讓Button能將資料傳給Activity。
同樣地,我們也可以將這個技巧,應用於兩個Activity之間,或者Activity與Service之間的溝通。
二、範例程式:兩個Activity間之溝通
先執行ac01:
按下<Go SubActivity>,就執行EventActivity:
輸入資料如:Happy NewYeara!!,並按下<Send Event!>,返回到ac01:
就看到所傳來的字串了。其程式碼為:
/* aco1.java */
package com.misoo.ppxx;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class ac01 extends Activity{
private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT;
private Button btn, btn2;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams param =
new LinearLayout.LayoutParams(100, WC);
param.topMargin = 5;
btn = new Button(this);
btn.setText("Go SubActivity");
btn.setOnClickListener(listener);
layout.addView(btn, param);
btn2 = new Button(this);
btn2.setText("Exit");
btn2.setOnClickListener(listener);
layout.addView(btn2, param);
this.setContentView(layout);
EventActivity.setUpdateListener(new UpdateUIListener());
}
OnClickListener listener = new OnClickListener(){
public void onClick(View v) {
if(v == btn){
Intent in = new Intent(ac01.this, EventActivity.class);
startActivity(in);
}
else if(v == btn2){
finish();
}
}
};
class UpdateUIListener implements IListener {
public void update(String s) {
setTitle(s);
}
}
}
/* EventActivity.java */
package com.misoo.ppxx;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class EventActivity extends Activity implements OnClickListener {
private static IListener plis;
private EditText et;
private Button btn;
public static void setUpdateListener(IListener listener) {
plis = listener;
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.event);
et=(EditText)findViewById(R.id.et);
btn = (Button)findViewById(R.id.send);
btn.setBackgroundResource(R.drawable.x_yellow);
btn.setOnClickListener(this);
}
public void onClick(View v) {
plis.update(et.getText().toString());
finish();
}
}
- Listen
- listen
- Listen
- listen()
- Listen? listen!
- listen to
- Listen问题
- listen函数.
- nginx listen
- QTcpserver listen
- listen error
- listen()解惑
- socket-listen
- socket-listen
- listen Function
- listen函数
- socket-listen
- SOCKET LISTEN
- 矩阵和队列
- 矩阵和魔方
- 计算几何专项:UVa 12301
- Cstyle的UEFI导读之Drivr binding
- Linux 下svn配置
- Listen? listen!
- 1201: Triangle
- PowerDesigner使用教程--PD生成SQL
- 使用VC库函数中的快速排序函数
- JUnit单元测试(五)--通过反射测试私有方法
- CentOS 5.6下将linux内核2.6.18升级到2.6.30,并编译动态加载linux下第一个模块
- Spring c3p0 配置
- Android界面布局
- 问题十八: 一个整数(小于100000),它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多?