Android Intent初步试用

本文介绍了一个简单的乘法计算器应用,通过MainActivity输入两个乘数并计算结果,然后使用Intent将这两个乘数传递到ResultActivity进行显示。文章详细展示了如何在Android应用中实现Activity之间的数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

 



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值