Android之Activity的启动方式

Activity的启动分为两种方式,显示方式和隐式方式

一、显示方式就是在通过intent启动Activity时指定了Activity的包名和类名

方法1:初始化intent,调用setClass()方法:

public void onClick(View arg0) {

//从RegistInfoActivity跳转到 MainActivity界面

Intent intent = new Intent();

intent.setClass(RegistInfoActivity.this, MainActivity.class);

//startActivity()启动意图

startActivity(intent);

//通过finish结束当前activity

finish();

}
方法2: 通过ComponentName对象的方式

参照http://blog.csdn.net/vrix/article/details/6851557

 

二、隐式方式则在初始化Intent时指定action或action namevalue属性。也就是说实现从一个界面获取另一个界面的信息。在一个界面通过intent.putExtra(name,value);将value值存入,在另一个界面通过intent.getStringExtra(name)将值取出。

假设我们有一个idsexTextEditText ,那么我们就可以通过如下方法实现从RegistInfoActivity 跳转到另外一个界面MainActivity ,也即从RegistInfoActivity 获取MainActivity 的idsexTextEditText的内容:

public class RegistInfoActivity extends Activity {

public void onClick(View arg0) {

Intent intent = new Intent();

        EditText sex = (EditText) findViewById(R.id.sexText);

        intent.putExtra("sex", sex.getText().toString());

startActivity(intent);

finish();

}

}

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.mainmap);

        Intent intent = getIntent();

    System.out.println(intent.getStringExtra("sex"));

}

}

你可能感兴趣的:(Android)