Activity查看数据与文本框反回数据

1、Activity传递数据,并显示Activity上。

2、Android用Intent来做activity的跳转,轻量级的数据用Bundle 配合着传递。

传回数据用startActivityForResult来搞。

main类代码如下:

package com.smart.intent;

import java.io.Serializable;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
class Data implements Serializable
{
	public String name = "老梁";
	public int[] values = new int[]
	{ 1, 3, 5, 9, 0,9,2,3,7,8 };
}
public class Main extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btnStart=(Button)findViewById(R.id.btnStartActivity);
        Button btnReturn=(Button)findViewById(R.id.btnReturn);
        btnStart.setOnClickListener(this);//绑定器
        btnReturn.setOnClickListener(this);
    }

	@Override//判断按是哪一个按键。
	public void onClick(View v) {
	switch(v.getId()){
	case R.id.btnStartActivity:
		Data data=new Data();
		Intent intent=new Intent(this,SmartBrowser.class);
		intent.putExtra("name", "Smart");
		intent.putExtra("age", 988);
		intent.putExtra("data", data);
		startActivity(intent);
		break;
	case R.id.btnReturn:
		Intent proIntent=new Intent(this,SmartProcess.class);
		startActivityForResult(proIntent, R.layout.process);
		break;
	}
		
	}

	@Override//判断数据接收时的确定与取消。
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		switch(requestCode){
		
		case R.layout.process:
			if(resultCode==20){
				Toast toast=Toast.makeText(this, data.getStringExtra("text"), Toast.LENGTH_LONG);
				toast.show();
			}else if(resultCode==21){
				Toast toast=Toast.makeText(this, "你取消了操作", Toast.LENGTH_LONG);
				toast.show();
			}
		break;
		
		default:
		
			break;
		}
		
		
		
		
		//反回码与请求码一样。
		super.onActivityResult(requestCode, resultCode, data);
	}


	
}

显示类

package com.smart.intent;

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

public class SmartBrowser extends Activity{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.browser);
		TextView textView=(TextView)findViewById(R.id.textview);
		Bundle bundle=getIntent().getExtras();//得到数据。
		String s="";
		s+="name:"+bundle.getString("name")+"\n";
		s+="name:"+bundle.getInt("age")+"\n";
		Data data=(Data)bundle.getSerializable("data");
		s+="Data.name:"+data.name+"\n";//进行接收数据。
		String values="";
		for (int i = 0; i < data.values.length; i++) {
			values+=data.values[i]+"";//得到数据。
		}
		s+="Data.values:"+values;
		textView.setText(s);//显示数据
		
	}

	
	
	
	
	
}

从文件框中输入数据,Toast样式显示数据

package com.smart.intent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class SmartProcess extends Activity implements OnClickListener
{
	
		private EditText editText;
		
	
	

	@Override
		protected void onCreate(Bundle savedInstanceState) {
			
			super.onCreate(savedInstanceState);
			setContentView(R.layout.process);
			editText=(EditText)findViewById(R.id.edittext);
			Button btnOK=(Button)findViewById(R.id.btnOK);
			Button btnCencel=(Button)findViewById(R.id.btnCancel);	
			btnOK.setOnClickListener(this);
			btnCencel.setOnClickListener(this);
	}




	@Override//按建的判断
	public void onClick(View v) {
	
		switch(v.getId()){
		case R.id.btnOK:
			getIntent().putExtra("text", editText.getText().toString());
			setResult(20,getIntent());
			break;
		case R.id.btnCancel:
			setResult(21);
			break;
			
		}
		finish();
	}

}

posted on 2011-02-23 16:22  llb988  阅读(344)  评论(0编辑  收藏  举报

导航