Activity查看数据与文本框反回数据
1、Activity传递数据,并显示Activity上。 2、Android用Intent来做activity的跳转,轻量级的数据用Bundle 配合着传递。 传回数据用startActivityForResult来搞。 main类代码如下: packagecom.smart.intent; importjava.io.Serializable; importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.Toast; classDataimplementsSerializable { publicStringname="老梁"; publicint[]values=newint[] {1,3,5,9,0,9,2,3,7,8}; } publicclassMainextendsActivityimplementsOnClickListener{ /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); ButtonbtnStart=(Button)findViewById(R.id.btnStartActivity); ButtonbtnReturn=(Button)findViewById(R.id.btnReturn); btnStart.setOnClickListener(this);//绑定器 btnReturn.setOnClickListener(this); } @Override//判断按是哪一个按键。 publicvoidonClick(Viewv){ switch(v.getId()){ caseR.id.btnStartActivity: Datadata=newData(); Intentintent=newIntent(this,SmartBrowser.class); intent.putExtra("name","Smart"); intent.putExtra("age",988); intent.putExtra("data",data); startActivity(intent); break; caseR.id.btnReturn: IntentproIntent=newIntent(this,SmartProcess.class); startActivityForResult(proIntent,R.layout.process); break; } } @Override//判断数据接收时的确定与取消。 protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){ switch(requestCode){ caseR.layout.process: if(resultCode==20){ Toasttoast=Toast.makeText(this,data.getStringExtra("text"),Toast.LENGTH_LONG); toast.show(); }elseif(resultCode==21){ Toasttoast=Toast.makeText(this,"你取消了操作",Toast.LENGTH_LONG); toast.show(); } break; default: break; } //反回码与请求码一样。 super.onActivityResult(requestCode,resultCode,data); } } 数据显示代码: packagecom.smart.intent; importandroid.app.Activity; importandroid.os.Bundle; importandroid.widget.TextView; publicclassSmartBrowserextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.browser); TextViewtextView=(TextView)findViewById(R.id.textview); Bundlebundle=getIntent().getExtras();//得到数据。 Strings=""; s+="name:"+bundle.getString("name")+"\n"; s+="name:"+bundle.getInt("age")+"\n"; Datadata=(Data)bundle.getSerializable("data"); s+="Data.name:"+data.name+"\n";//进行接收数据。 Stringvalues=""; for(inti=0;i<data.values.length;i++){ values+=data.values[i]+"";//得到数据。 } s+="Data.values:"+values; textView.setText(s);//显示数据 } } startActivityForResult反回数据 packagecom.smart.intent; importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.EditText; publicclassSmartProcessextendsActivityimplementsOnClickListener { privateEditTexteditText; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.process); editText=(EditText)findViewById(R.id.edittext); ButtonbtnOK=(Button)findViewById(R.id.btnOK); ButtonbtnCencel=(Button)findViewById(R.id.btnCancel); btnOK.setOnClickListener(this); btnCencel.setOnClickListener(this); } @Override//按建的判断 publicvoidonClick(Viewv){ switch(v.getId()){ caseR.id.btnOK: getIntent().putExtra("text",editText.getText().toString()); setResult(20,getIntent()); break; caseR.id.btnCancel: setResult(21); break; } finish(); } } 本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/498894,如需转载请自行联系原作者