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(); } }