在一般情况下,Android的每一个屏幕基本上就是一个Activity,屏幕间的切换实际上就是在互相调用的过程,Android使用Intent完成这个动作。包括两种跳转:无返回值和有返回值。
一、无返回值跳转
public void onClick(View v) { Intent intent=new Intent(TestAndroidActivity.this,t2.class); startActivity(intent); }
二、带有返回值的跳转
ReceiveResult.java片段
static final private GET_CODE = 0; <pre class="java" name="code">public void onClick(View v) { // Start the activity whose result we want to retrieve. The // result will come back with request code GET_CODE. Intent intent = new Intent(ReceiveResult.this, SendResult.class); startActivityForResult(intent, GET_CODE); }
SendResult.java片段
public class SendResult extends Activity { /** * Initialization of the Activity after it is first created. Must at least * call {@link android.app.Activity#setContentView setContentView()} to * describe what is to be displayed in the screen. */ @Override protected void onCreate(Bundle savedInstanceState) { // Be sure to call the super class. super.onCreate(savedInstanceState); // See assets/res/any/layout/hello_world.xml for this // view layout definition, which is being set here as // the content of our screen. setContentView(R.layout.send_result); // Watch for button clicks. Button button = (Button)findViewById(R.id.corky); button.setOnClickListener(mCorkyListener); button = (Button)findViewById(R.id.violet); button.setOnClickListener(mVioletListener); } private OnClickListener mCorkyListener = new OnClickListener() { public void onClick(View v) { // To send a result, simply call setResult() before your // activity is finished. setResult(RESULT_OK, (new Intent()).setAction("Corky!")); finish(); } }; private OnClickListener mVioletListener = new OnClickListener() { public void onClick(View v) { // To send a result, simply call setResult() before your // activity is finished. setResult(RESULT_OK, (new Intent()).setAction("Violet!")); finish(); } }; }
ReceiveResult.java 片段