Android 数据传递Bundle

是以一个计算器的形式实现的

TranslateDateActivity.java

package rw.data;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;


public class TranslateDateActivity extends Activity {
    /** Called when the activity is first created. */
   
    private EditText oneEditText,twoEditText;
    private Spinner spinner;
    private Button button;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        oneEditText=(EditText)findViewById(R.id.editText1);
        twoEditText=(EditText)findViewById(R.id.editText2);
        spinner=(Spinner)findViewById(R.id.spinner1);
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item);
        adapter.add("+");
        adapter.add("-");
        adapter.add("*");
        adapter.add("/");
        spinner.setAdapter(adapter);
        button=(Button)findViewById(R.id.button1);
        button.setOnClickListener(new ButtonListener());
    }
    class ButtonListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			Intent intent=new Intent();
			Bundle bundle=new Bundle();
			bundle.putString("onetext", oneEditText.getText().toString());
			bundle.putString("spinner", spinner.getSelectedItem().toString());
			bundle.putString("twotext", twoEditText.getText().toString());
			intent.putExtras(bundle);
			intent.setClass(getApplicationContext(), result.class);
			
			TranslateDateActivity.this.startActivity(intent);
		}
    	
    }
}


result.java

package rw.data;


import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class result extends Activity {
    /** Called when the activity is first created. */

    private TextView textView,textView2,textView3,textView4,textView5;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.calculateresult);
        textView=(TextView)findViewById(R.id.textView1);
        textView2=(TextView)findViewById(R.id.textView2);
        textView3=(TextView)findViewById(R.id.textView3);
        textView4=(TextView)findViewById(R.id.textView4);
        textView5=(TextView)findViewById(R.id.textView5);
         Bundle bundle=getIntent().getExtras();
        textView.setText(bundle.getString("onetext"));
        textView2.setText(bundle.getString("spinner"));
        textView3.setText(bundle.getString("twotext"));
       if (bundle.getString("spinner").endsWith("+")) {
		textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())+Integer.parseInt(textView3.getText().toString())));
	    }else if(bundle.getString("spinner").endsWith("-")){
			textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())-Integer.parseInt(textView3.getText().toString())));

		}else if (bundle.getString("spinner").endsWith("*")) {
			textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())*Integer.parseInt(textView3.getText().toString())));

		}else  {
			textView5.setText(String.valueOf(Integer.parseInt(textView.getText().toString())/Integer.parseInt(textView3.getText().toString())));
//由于设置的是整形,所以除法有误差
		}
    }
}


 

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"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText1">
    <requestFocus></requestFocus>
    </EditText>
<Spinner android:layout_width="match_parent" android:id="@+id/spinner1" android:layout_height="wrap_content"></Spinner>
<EditText android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/editText2">
    <requestFocus></requestFocus>
</EditText>
<Button android:id="@+id/button1" android:layout_height="wrap_content" android:text="计算" android:layout_width="match_parent"></Button>

</LinearLayout>


 

calculateresult.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <TextView android:text="=" android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
    <TextView android:text="TextView" android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
  
</LinearLayout>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值