2018-05-03

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

点击事件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,在Activity.xml中设置点击事件。。。。。。。。。。。。。。。。。。。。。。


            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  back1(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();

}

}

你可能感兴趣的:(2018-05-03)