`

Activity之间的跳转

阅读更多
第一步:新建一个继承Activity的类,如:NewActivity

public class NewActivity extends Activity {
    @Override protected void onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
//这里可以使用setContentView(R.layout.xxx)显示某个视图....
     }
}

第二步:需要在功能清单AndroidManifest.xml文件中添加进上面Activity配置代码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="test.action"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        .....
<activity android:name=".NewActivity" android:label="新activity的页面标题"/>
    </application>
    ...
</manifest>
android:name属性值的前面加了一个点表示NewActivity是当前包test.action下的类,如果类在应用的当前包下,可以省略点符号,如果类在应用的子包下必须加点,如:NewActivity类在test.action.user包下可以这样写:<activity android:name=“.user.NewActivity“ />


实例
public class MainActivty extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button button = (Button) findViewById(R.id.button);
		button.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View view) {
				Intent intent = new Intent(MainActivty.this, NewActivity.class);
				/**
				   Bundle bundle = new Bundle();
				   bundle.putString("name", "emily");
				   bundle.putInt("age", 22);
				   intent.putExtras(bundle);
                                   等价于下面
				*/
				
				intent.putExtra("name", "emily");
				intent.putExtra("age", 22);
				startActivity(intent);
			}
		});
	}
}






public class NewActivity extends Activity {
	@Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.news);
        Intent intent = this.getIntent();
        Bundle bundle = intent.getExtras();
        
        EditText editText = (EditText) findViewById(R.id.text);
        
        editText.setText("姓名:"+ bundle.getString("name") + ",年龄:"+bundle.getInt("age"));
    }
}

得到另外一个Activity的结果,requestCode用法
public class MainActivty extends Activity {
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch(requestCode) {
		 case 1:
			 Toast.makeText(this, data.getExtras().getString("result"),1).show();
		 }
		
	}

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button button = (Button) findViewById(R.id.button);
		Button button1 = (Button) findViewById(R.id.button1);
		button.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				Intent intent = new Intent(MainActivty.this, NewActivity.class);
				/**
				   Bundle bundle = new Bundle();
				   bundle.putString("name", "emily");
				   bundle.putInt("age", 22);
				   intent.putExtras(bundle);
				*/
				
				intent.putExtra("name", "emily");
				intent.putExtra("age", 22);
				startActivityForResult(intent,1);
			}
		});
	}
	
	
}

public class NewActivity extends Activity {
	@Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.news);
       Intent intent = this.getIntent();
        Bundle bundle = intent.getExtras();
        Button button = (Button) findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				
				Intent resultIntent = new Intent();
			       
		        resultIntent.putExtra("result", "success");
		        NewActivity.this.setResult(1, resultIntent);
		        try {
					Thread.sleep(3000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				NewActivity.this.finish();
			}
		});
        
        EditText editText = (EditText) findViewById(R.id.text);
        
        editText.setText("姓名:"+ bundle.getString("name") + ",年龄:"+bundle.getInt("age"));
        
        
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics