点击事件1,在 setOnClickListener里面new了一个接口编写onclick
button_main_download.setOnClickListener(new View.OnClickListener() {
//回掉方法
public void onClick(View v) {
// Toast text = Toast.makeText(MainActivity.this, "开始下载......",(int) 12);
// text.show();
//点击事件
}});
点击事件2,在setOnClickListener中用了this调用了类
需要实现(implements)OnClickListener接口:
重写点击方法
public void onClick(View v) {//v就是发生的事件(用户的造作),试图对象
if(v==btn_tmain_msg){//需要判断v是哪个按钮
点击内容}
}
也可以用switch 注:这里要用id来指明
switch (v.getId()) {
// case R.id.button1:
// Toast.makeText(this, "一般启动", Toast.LENGTH_LONG).show();
// break;
// default:
// Toast.makeText(this, "待会掉启动", Toast.LENGTH_LONG).show();
// break;
// }
点击事件3,在setOnClickListener中用了OnClickListener调用了对象
new了一个View调用了OnClickListener的方法重写onClick点击事件-----付给OnClickListener
private android.view.View.OnClickListener OnClickListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
}
点击事件4,在Activity.xml中设置点击事件
列:在activity_main.xml里写
<Button
android:id="@+id/button2_name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start4"
android:onClick="back2"
/>
然后在Activity.java中写
//注意写法
//按钮点击事件
public void back2(View v){
}
发送和调回发送
public class MainActivity extends Activity implements OnClickListener {
private EditText e_tmain_msg;//定义控件
private Button btn_tmain_msg;
private Button btn_tmain_msg2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化试图对象
e_tmain_msg=(EditText) findViewById(R.id.editText1);//获取对它的操作
btn_tmain_msg=(Button) findViewById(R.id.button1);
btn_tmain_msg2=(Button) findViewById(R.id.button2);
//设置点击监听
btn_tmain_msg.setOnClickListener(MainActivity.this);
btn_tmain_msg2.setOnClickListener(this);//简写
}
//由于实现上面的OnClickListener所以要实现(implements) OnClickListener接口,重写接口方法
public void onClick(View v) {//v就是发生的事件(用户的造作),试图对象
if(v==btn_tmain_msg){//判断哪一个按钮
// 1.创建intent对象(里面是this,指定传输的页面.Class)
Intent intent = new Intent(this,FuxuanActivity.class);
// 2.通过intent携带额外的数据
String trim = e_tmain_msg.getText().toString().trim();
intent.putExtra("MSG", trim);
// 3.启动Activity另一个界面
startActivity(intent);//Intent中有
// startActivity(this,FuxuanActivity.class);
}
else if(v==btn_tmain_msg2){
Intent intent = new Intent(this,FuxuanActivity.class);
//编写请求吗
int requestcode =2;
//携带数据
String trim = e_tmain_msg.getText().toString().trim();
intent.putExtra("MSG", trim);
//启动Activity有返回结果
startActivityForResult(intent, requestcode);
}
}
因为另一个页面(Activity)中要返回数据,为了确保数据所以都加上了条码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==2&&resultCode==3){//判断是否是相关页面
String stringExtra = data.getStringExtra("asdf");//获取
e_tmain_msg.setText(stringExtra);//设置
}
}
}
第二个界面
public class FuxuanActivity extends Activity {
//第二个界面
private EditText e_tmain_msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fuxuan);
e_tmain_msg=(EditText) findViewById(R.id.editText1_main2);
// 4.得到对象
Intent intent = getIntent();
// 5.读取数据
String extra = intent.getStringExtra("MSG");
// 6.显示Edittext中
e_tmain_msg.setText(extra);
}
//注意写法
//按钮点击事件
public void back1(View v){
finish();
}
//按钮点击事件
public void back2(View v){
//接受码
int resultcode =3;
//准备一个带额外数据的Intent对象
Intent intent = new Intent();
//给Intent设置数据
String trim = e_tmain_msg.getText().toString().trim();
intent.putExtra("asdf",trim);
//设置结果
setResult(resultcode,intent);
// 关闭页面
finish();
}
}
Activity的生命周期
1)界面从“开始”-->“运行"
onCreate-->onStart-->onResume
2) 界面从“运行”-->“死亡"
onResume-->onpause-->onStop-->onDestroy
3) 界面从“运行”-->“停止"
onResume-->onpause-->onStop
4) 界面从“停止” -->“运行"
onStop-->onRestart-->onStart-->onResume
5) 界面从“运行”-->“暂停"
onResume-->onpause
6) 界面从“暂停” -->“运行"
onpause-->onResume