Acvitity的生命周期和传值跳转(基本数据类型和实体类)

来源:互联网 发布:minecraft java 问题 编辑:程序博客网 时间:2024/06/10 05:22
生命周期onCreate    实例化 当Activity第一次启动的时候,触发该方法,完成初始化。onStart     启动  该方法的触发表示所属Activity将被展现给用户。onResume    交互  当一个Activity和用户发生交互的时候,触发该方法onPause     挂起  当一个正在前台运行的Activity因为其他的Activity需要前台运行而转入后台运行的时候,触发该方法。onStop      停止  一个活动不再需要展示给用户的时候,触发该方法。如果系统内存紧张,则会直接结束这个Activity,而不会触发 onStop 方法。所以如果有要保存的数据时,应该在onPause时做,可以认为onPause方法或许是活动触发的最后的方法,之后就无法主观控制了。onRestart   重启  当处于停止状态的Activity需要再次展现给用户的时候,触发该方法。onDestroy   销毁  当Activity销毁的时候,触发该方法。和 onStop 方法一样,如果内存紧张,系统会直接结束这个Activity而不会触发该方法。
acvititymain.xml   <EditText            android:id="@+id/et_content"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:hint="请输入文本"            android:textSize="25sp"/>        <Button            android:id="@+id/btn_jump"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="跳转"            android:textSize="25sp"/>
跳转页面secacvitity.xml<TextView        android:id="@+id/tv_jump"        android:layout_width="wrap_content"        android:layout_height="match_parent"        android:text="已经跳转"        android:textSize="25sp"        android:gravity="center"        android:layout_gravity="center"/>
MainAcvitity.javapublic class MainActivity extends AppCompatActivity {    private Button btn_jump;    private EditText et_content;    @Override    protected void onCreate(Bundle savedInstanceState) {//创建方法        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //第一个参数info是标签tag,用来过滤日志信息,方便查看,第二个参数是日志打印信息        Log.i("info","第一个onCreate()");        btn_jump= (Button) findViewById(R.id.btn_jump);        btn_jump.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {//执行跳转                Intent intent=new Intent(MainActivity.this,SecActivity.class);                et_content= (EditText) findViewById(R.id.et_content);                String content=et_content.getText().toString();                Phone phone = new Phone(content, "1000", "1008条");//                intent.putExtra("content",content);                intent.putExtra("bean",phone);                startActivity(intent);            }        });    }    @Override    protected void onStart() {        super.onStart();//开启方法        Log.i("info","第一个onStart()");    }    @Override    protected void onResume() {//设置可交互的方法        super.onResume();        Log.i("info","第一个onResume()");    }    @Override    protected void onPause() {//暂停挂起的方法,按下home健的状态        super.onPause();        Log.i("info","第一个onPause()");    }    @Override    protected void onStop() {//停止方法        super.onStop();        Log.i("info","第一个 onStop()");    }    @Override    protected void onRestart() {//重启的方法        super.onRestart();        Log.i("info","第一个onRestart()");    }    @Override    protected void onDestroy() {//在内存中销毁的方法        super.onDestroy();        Log.i("info","第一个onDestroy()");    }
SecAcvitity.javapublic class SecActivity extends AppCompatActivity {    private TextView tv_jump;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_sec);        Log.i("info","第二个onCreate()");        Intent intent=getIntent();//        String temp=intent.getStringExtra("content");//        tv_jump= (TextView) findViewById(R.id.tv_jump);//        tv_jump.setText(temp);        Phone phone= (Phone) intent.getSerializableExtra("bean");        tv_jump= (TextView) findViewById(R.id.tv_jump);        tv_jump.setText(phone.getName()+":"+phone.getPrice()+"元,"+"评论:"+phone.getCounter());    }    @Override    protected void onStart() {        super.onStart();//开启方法        Log.i("info","第二个onStart()");    }    @Override    protected void onResume() {//设置可交互的方法        super.onResume();        Log.i("info","第二个onResume()");    }    @Override    protected void onPause() {//暂停挂起的方法,按下home健的状态        super.onPause();        Log.i("info","第二个onPause()");    }    @Override    protected void onStop() {//停止方法        super.onStop();        Log.i("info","第二个 onStop()");    }    @Override    protected void onRestart() {//重启的方法        super.onRestart();        Log.i("info","第二个onRestart()");    }    @Override    protected void onDestroy() {//在内存中销毁的方法        super.onDestroy();        Log.i("info","第二个onDestroy()");    }}
也可以传实体类。Phone(Entity
public class Phone implements Serializable {    private String name;    private  String price;    private String counter;    public Phone(String name, String price, String counter) {        this.name = name;        this.price = price;        this.counter = counter;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPrice() {        return price;    }    public void setPrice(String price) {        this.price = price;    }    public String getCounter() {        return counter;    }    public void setCounter(String counter) {        this.counter = counter;    }
0 0
原创粉丝点击