Intent 的初步使用,用于切换Activity,同时传递一些参数到目的Activity
实现一个类似乘法的功能
MainActivity.java
public class MainActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
//第一个乘数框
EditText m1;
//第二个乘数框
EditText m2;
//结果框
EditText result;
//计算按钮
Button calu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//从main.xml中得到定义的几个EditText
m1=(EditText)this.findViewById(R.id.m1);
m2=(EditText)this.findViewById(R.id.m2);
result=(EditText)this.findViewById(R.id.result);
//从main.xml中得到定义的几个Button
calu=(Button)this.findViewById(R.id.calu);
//给按钮添加Onclick事件注册监听
calu.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(arg0==calu){
String m1Text=m1.getText().toString();
String m2Text=m2.getText().toString();
int m1Num=Integer.parseInt(m1Text);
int m2Num=Integer.parseInt(m2Text);
String resultText=String.valueOf(m1Num*m2Num);
result.setText(resultText);
//实现一个传递的Intent
Intent intent =new Intent();
intent.putExtra("m1", m1Text);
intent.putExtra("m2", m2Text);
intent.setClass(this, ResultActivity.class);
this.startActivity(intent);
}
}
}
ResultActivity.java
public class ResultActivity extends Activity{
public TextView result;
public void onCreate(Bundle bundle){
super.onCreate(bundle);
setContentView(R.layout.result);
result=(TextView)this.findViewById(R.id.result);
parseIntent();
}
public void parseIntent(){
//得到传递的Intent
Intent intent=this.getIntent();
//得到传递的Intent的参数
String m1Text=intent.getExtras().getString("m1");
String m2Text=intent.getExtras().getString("m2");
int m1Num=Integer.parseInt(m1Text);
int m2Num=Integer.parseInt(m2Text);
String resultText=String.valueOf(m1Num*m2Num);
//对目标结果的显示
result.setText(resultText);
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/m1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
></EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+string/cul"
/>
<EditText android:id="@+id/m2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
></EditText>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+string/equlas"
/>
<EditText android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
></EditText>
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@+string/caluate"
android:id="@+id/calu"
> </Button>
</LinearLayout>
分享到:
相关推荐
android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码android Intent例子源码
在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...
android Intent传递对象数据 通过对象分别实现Serializable Parcelable接口的两种方法
android intent 生命周期详解和源码
Android Intent多种传值方式 https://blog.csdn.net/qq_31939617/article/details/80742103
android intent service 实例android intent service 实例android intent service 实例
经典的android intent 窗口切换 窗口打开,A窗口打开B窜
Intent在Android应用开发中,占有很大的分量,关于Intent在Android中的作用在网络上已经有很多资料了,这里不再累赘,本人喜欢直来直去。在网上看到很多关于Intent的资料,说那么多,你也许还是一头雾水,到底如何...
主要是intent的内部工作 原理介绍,包含详细的流程图;
intent 传递对象,主要是通过intent传递自定义对象
通过一个实验,讲解Android的使用方法,总结详细
android intent 介绍
android用于打开各种文件的intent
Android编程之Intent_TabHost源码演示,自定义的Tabhost(内含源码),学习制作Android软件的TAB标签界面,在电脑上已经很流行的功能,Android手机上当然不能少,这个TabHost源码相对简单些,是JAVA转学Android比较...
Android Intent 学习笔记
AndroDialysis: Analysis of Android Intent Effectiveness in Malware Detection
android intent和intent action大全
Intents and Intent Filters 三种应用程序基本组件——activity, ... 在上述三种情况下, android系统会自己找到合适的activity, service, 或者 broadcast receivers来响应intent. 三者的intent相互独立互不干扰.
android Intent.FLAG大全
这个例子主要讲下Intent Filter的用法。对应博客地址:http://blog.csdn.net/chenliqiang12345678/article/details/50568468