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

简介:

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

 

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

传回数据用startActivityForResult来搞。

 

main类代码如下:

 

 
  1. package com.smart.intent; 
  2.  
  3. import java.io.Serializable; 
  4.  
  5. import android.app.Activity; 
  6. import android.content.Intent; 
  7. import android.os.Bundle; 
  8. import android.view.View; 
  9. import android.view.View.OnClickListener; 
  10. import android.widget.Button; 
  11. import android.widget.Toast; 
  12. class Data implements Serializable 
  13.     public String name = "老梁"
  14.     public int[] values = new int[] 
  15.     { 13590,9,2,3,7,8 }; 
  16. public class Main extends Activity implements OnClickListener{ 
  17.     /** Called when the activity is first created. */ 
  18.     @Override 
  19.     public void onCreate(Bundle savedInstanceState) { 
  20.         super.onCreate(savedInstanceState); 
  21.         setContentView(R.layout.main); 
  22.         Button btnStart=(Button)findViewById(R.id.btnStartActivity); 
  23.         Button btnReturn=(Button)findViewById(R.id.btnReturn); 
  24.         btnStart.setOnClickListener(this);//绑定器 
  25.         btnReturn.setOnClickListener(this); 
  26.     } 
  27.  
  28.     @Override//判断按是哪一个按键。 
  29.     public void onClick(View v) { 
  30.     switch(v.getId()){ 
  31.     case R.id.btnStartActivity: 
  32.         Data data=new Data(); 
  33.         Intent intent=new Intent(this,SmartBrowser.class); 
  34.         intent.putExtra("name""Smart"); 
  35.         intent.putExtra("age"988); 
  36.         intent.putExtra("data", data); 
  37.         startActivity(intent); 
  38.         break
  39.     case R.id.btnReturn: 
  40.         Intent proIntent=new Intent(this,SmartProcess.class); 
  41.         startActivityForResult(proIntent, R.layout.process); 
  42.         break
  43.     } 
  44.          
  45.     } 
  46.  
  47.     @Override//判断数据接收时的确定与取消。 
  48.     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
  49.         switch(requestCode){ 
  50.          
  51.         case R.layout.process: 
  52.             if(resultCode==20){ 
  53.                 Toast toast=Toast.makeText(this, data.getStringExtra("text"), Toast.LENGTH_LONG); 
  54.                 toast.show(); 
  55.             }else if(resultCode==21){ 
  56.                 Toast toast=Toast.makeText(this"你取消了操作", Toast.LENGTH_LONG); 
  57.                 toast.show(); 
  58.             } 
  59.         break
  60.          
  61.         default
  62.          
  63.             break
  64.         } 
  65.          
  66.          
  67.          
  68.          
  69.         //反回码与请求码一样。 
  70.         super.onActivityResult(requestCode, resultCode, data); 
  71.     } 
  72.  
  73.  
  74.      

数据显示代码:

 

 
  1. package com.smart.intent; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.widget.TextView; 
  6.  
  7. public class SmartBrowser extends Activity{ 
  8.  
  9.     @Override 
  10.     protected void onCreate(Bundle savedInstanceState) { 
  11.         super.onCreate(savedInstanceState); 
  12.         setContentView(R.layout.browser); 
  13.         TextView textView=(TextView)findViewById(R.id.textview); 
  14.         Bundle bundle=getIntent().getExtras();//得到数据。 
  15.         String s=""
  16.         s+="name:"+bundle.getString("name")+"\n"
  17.         s+="name:"+bundle.getInt("age")+"\n"
  18.         Data data=(Data)bundle.getSerializable("data"); 
  19.         s+="Data.name:"+data.name+"\n";//进行接收数据。 
  20.         String values=""
  21.         for (int i = 0; i < data.values.length; i++) { 
  22.             values+=data.values[i]+"";//得到数据。 
  23.         } 
  24.         s+="Data.values:"+values; 
  25.         textView.setText(s);//显示数据 
  26.          
  27.     } 
  28.  
  29.      
  30.      
  31.      
  32.      
  33.      

startActivityForResult反回数据

 

 
  1. package com.smart.intent; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.view.View; 
  6. import android.view.View.OnClickListener; 
  7. import android.widget.Button; 
  8. import android.widget.EditText; 
  9.  
  10.  
  11. public class SmartProcess extends Activity implements OnClickListener 
  12.      
  13.         private EditText editText; 
  14.          
  15.      
  16.      
  17.  
  18.     @Override 
  19.         protected void onCreate(Bundle savedInstanceState) { 
  20.              
  21.             super.onCreate(savedInstanceState); 
  22.             setContentView(R.layout.process); 
  23.             editText=(EditText)findViewById(R.id.edittext); 
  24.             Button btnOK=(Button)findViewById(R.id.btnOK); 
  25.             Button btnCencel=(Button)findViewById(R.id.btnCancel);   
  26.             btnOK.setOnClickListener(this); 
  27.             btnCencel.setOnClickListener(this); 
  28.     } 
  29.  
  30.  
  31.  
  32.  
  33.     @Override//按建的判断 
  34.     public void onClick(View v) { 
  35.      
  36.         switch(v.getId()){ 
  37.         case R.id.btnOK: 
  38.             getIntent().putExtra("text", editText.getText().toString()); 
  39.             setResult(20,getIntent()); 
  40.             break
  41.         case R.id.btnCancel: 
  42.             setResult(21); 
  43.             break
  44.              
  45.         } 
  46.         finish(); 
  47.     } 
  48.  

 


本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/498894,如需转载请自行联系原作者

相关文章
|
11月前
|
Android开发
Android中保存当前按钮的状态 按back键返回之后再次进入没有改变
Android中保存当前按钮的状态 按back键返回之后再次进入没有改变
54 0
|
存储 缓存 Android开发
Android EditText输入框实现下拉且保存最近5个历史记录
Android EditText输入框实现下拉且保存最近5个历史记录
406 0
Android EditText输入框实现下拉且保存最近5个历史记录
|
缓存 前端开发 Java
Activity显示到Window的过程
写在前面的话 今天看到一个新闻,关于虾米音乐的程序员写的注释。 好像图都绿了,突然间想起在我曾经老大的影响下,我的Log输出已经变成了fxxk。
950 0
|
Android开发
Activity从创建到显示的整个过程
写在前面的话 今天有点烦,有点烦。项目写的乱成团,改起需求真要完。此后当个加班狗,无钱无名心要宽。 昨晚写到十一点,我都差点不相信这是我自己了。 今天接着昨天的节奏来,准备写下关于Activity从创建到显示的整个过程。
923 0