android基础--为应用添加新的Activity与参数传递
2011-10-18 17:36
465 查看
Main.xml
<LinearLayout
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/>
</LinearLayout>
Other.xml
<LinearLayout
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/content"
android:id="@+id/resultView"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/closeButton"
android:id="@+id/closeButton"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new ButtonClickListener());
}
/**
* onActivityResult方法由系统调用,可以得到OtherActivity关闭时返回的参数
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String result = data.getStringExtra("result");
Toast.makeText(getApplicationContext(), result, 1).show();
super.onActivityResult(requestCode, resultCode, data);
}
private final class ButtonClickListener implements View.OnClickListener{
public void onClick(View v) {//打开新的Activity
Intent intent = new Intent();
intent.setClass(getApplicationContext(), OtherActivity.class);//明确指定了所要激活的组件(显示意图)
/**第一种传递参数的方法
* intent.putExtra("name", "李四");//往意图对象中传参数
* intent.putExtra("age", 22);
*/
//另外一种传递参数的方法
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 20);
intent.putExtras(bundle);
//通过才可以取得关闭OtherActivity时返回的结果数据
startActivityForResult(intent, 22);//第二个参数标识在哪个地方调用该方法
//startActivity(intent);//激活
}
}
}
OtherActivity.java
public class OtherActivity extends Activity {
/**
* onCreate方法由系统自动调用,
* 在activity整个声明周期中只会被调用一次,
* 适合在这个方法中完成数据的初始化,
* 包括窗口刚开始要完成的界面
*/
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);//设置在activity代表的窗口上显示other.xml界面
Intent intent = getIntent();//获取激活本Activity的意图
/**获取参数的方法
*String name = intent.getStringExtra("name");//获取意图传过来的参数
*int age = intent.getIntExtra("age", 0);//0:如果age参数不存在,则默认为0
*/
//另外一种获取参数的方法
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
//找到组件
TextView textView = (TextView) this.findViewById(R.id.resultView);
//把参数内容放入组件
textView.setText("名称:"+name+", 年龄: "+age);
//找到关闭按钮
Button button = (Button) this.findViewById(R.id.closeButton);
//为按钮设置点击事件
button.setOnClickListener(new ButtonClickListener());
}
private final class ButtonClickListener
implements View.OnClickListener{
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("result", "这是结果数据");
//为该Activity设置返回对象
setResult(100, intent);
finish();//关闭Activity,将参数返回给MainActivity
}
}
}
<!-- 在清单中完成OtherActivity的配置
android:label="@string/title指定组件窗口的标题
-->
<activity android:name=".OtherActivity" android:label="@string/title">
</activity>
<LinearLayout
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/>
</LinearLayout>
Other.xml
<LinearLayout
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/content"
android:id="@+id/resultView"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/closeButton"
android:id="@+id/closeButton"/>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new ButtonClickListener());
}
/**
* onActivityResult方法由系统调用,可以得到OtherActivity关闭时返回的参数
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String result = data.getStringExtra("result");
Toast.makeText(getApplicationContext(), result, 1).show();
super.onActivityResult(requestCode, resultCode, data);
}
private final class ButtonClickListener implements View.OnClickListener{
public void onClick(View v) {//打开新的Activity
Intent intent = new Intent();
intent.setClass(getApplicationContext(), OtherActivity.class);//明确指定了所要激活的组件(显示意图)
/**第一种传递参数的方法
* intent.putExtra("name", "李四");//往意图对象中传参数
* intent.putExtra("age", 22);
*/
//另外一种传递参数的方法
Bundle bundle = new Bundle();
bundle.putString("name", "张三");
bundle.putInt("age", 20);
intent.putExtras(bundle);
//通过才可以取得关闭OtherActivity时返回的结果数据
startActivityForResult(intent, 22);//第二个参数标识在哪个地方调用该方法
//startActivity(intent);//激活
}
}
}
OtherActivity.java
public class OtherActivity extends Activity {
/**
* onCreate方法由系统自动调用,
* 在activity整个声明周期中只会被调用一次,
* 适合在这个方法中完成数据的初始化,
* 包括窗口刚开始要完成的界面
*/
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);//设置在activity代表的窗口上显示other.xml界面
Intent intent = getIntent();//获取激活本Activity的意图
/**获取参数的方法
*String name = intent.getStringExtra("name");//获取意图传过来的参数
*int age = intent.getIntExtra("age", 0);//0:如果age参数不存在,则默认为0
*/
//另外一种获取参数的方法
Bundle bundle = intent.getExtras();
String name = bundle.getString("name");
int age = bundle.getInt("age");
//找到组件
TextView textView = (TextView) this.findViewById(R.id.resultView);
//把参数内容放入组件
textView.setText("名称:"+name+", 年龄: "+age);
//找到关闭按钮
Button button = (Button) this.findViewById(R.id.closeButton);
//为按钮设置点击事件
button.setOnClickListener(new ButtonClickListener());
}
private final class ButtonClickListener
implements View.OnClickListener{
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("result", "这是结果数据");
//为该Activity设置返回对象
setResult(100, intent);
finish();//关闭Activity,将参数返回给MainActivity
}
}
}
<!-- 在清单中完成OtherActivity的配置
android:label="@string/title指定组件窗口的标题
-->
<activity android:name=".OtherActivity" android:label="@string/title">
</activity>
相关文章推荐
- Android开发入门之为应用添加多个Activity与参数传递
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析 《三》-Dialog
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- Android应用基础——Activity
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- Android应用:在Activity中添加延时
- 为应用添加多个Activity与参数传递
- 33_为应用添加多个Activity与参数传递
- 一、ANDROID应用ACTIVITY、DIALOG、POPWINDOW、TOAST窗口添加机制及源码分析
- android中如果activity中应用fragementlayout布局文件,如何给其中的控件添加事件监听。
- android基础笔记:ContentValues应用(查询、添加手机联系人)
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析 《四》-PopWindow
- android基础学习007_android 应用启动界面SplashActivity
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- android【基础】 style标签应用与activity间的淡入淡出切换
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析 《二》
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- Android应用Activity、Dialog、PopWindow、Toast窗口添加机制及源码分析
- Android学习之为应用添加多个Activity与参数传递