博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android练习—修改背景颜色
阅读量:6077 次
发布时间:2019-06-20

本文共 5005 字,大约阅读时间需要 16 分钟。

Activity值传递的一个小练习,不多说直接上代码。

---------------------------XML部分-----------------------------

1 
12 13
19 20
1 
2
5 6
16 17
26 27
36 37
46 47
56 57
66 67

--------------------------java部分----------------------

1 package com.example.activitydeom; 2  3 import android.os.Bundle; 4 import android.app.Activity; 5 import android.content.Intent; 6 import android.graphics.Color; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 import android.widget.Button;10 import android.widget.RelativeLayout;11 12 public class MainActivity extends Activity implements OnClickListener {13 14     Button bt;15     RelativeLayout bgc;16 17     @Override18     protected void onCreate(Bundle savedInstanceState) {19         super.onCreate(savedInstanceState);20         setContentView(R.layout.activity_main);21         bt = (Button) findViewById(R.id.button1);22 23         bt.setOnClickListener(this);24 25     }26 27     @Override28     public void onClick(View arg0) {29         Intent it = new Intent(this, ColorDeom.class);30         startActivityForResult(it, 0);31 32     }33 34     // 重点来了,这个方法就是用来接收值传递35     @Override36     protected void onActivityResult(int requestCode, int resultCode, Intent data) {37         super.onActivityResult(requestCode, resultCode, data);38 39         if (0 == requestCode && RESULT_OK == resultCode) {40             String color = data.getStringExtra("color");41             // 这里利用了java提供的Color方法来转换String→int42             int cc = Color.parseColor(color);43             bgc = (RelativeLayout) findViewById(R.id.bg_cloor);44             bgc.setBackgroundColor(cc);45         }46     }47 }
1 package com.example.activitydeom; 2  3 import android.app.Activity; 4 import android.content.Intent; 5 import android.graphics.Color; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 import android.widget.TextView;10 11 public class ColorDeom extends Activity implements OnClickListener{12 13     TextView tv1;14     TextView tv2;15     TextView tv3;16     TextView tv4;17     TextView tv5;18     TextView tv6;19     @Override20     protected void onCreate(Bundle savedInstanceState) {21         super.onCreate(savedInstanceState);22         setContentView(R.layout.color);23         tv1=(TextView) findViewById(R.id.textView1);24         tv2=(TextView) findViewById(R.id.textView2);25         tv3=(TextView) findViewById(R.id.textView3);26         tv4=(TextView) findViewById(R.id.textView4);27         tv5=(TextView) findViewById(R.id.textView5);28         tv6=(TextView) findViewById(R.id.textView6);29         tv1.setOnClickListener(this);30         tv2.setOnClickListener(this);31         tv3.setOnClickListener(this);32         tv4.setOnClickListener(this);33         tv5.setOnClickListener(this);34         tv6.setOnClickListener(this);35     }36     37     38     @Override39     public void onClick(View v) {40         41         42         Intent it=new Intent();43         String color="0Xffffff";44         switch (v.getId()) {45         case R.id.textView1:46             color=(String) tv1.getText();47             Color.parseColor((String) tv1.getText());48             it.putExtra("color",color);49             setResult(RESULT_OK, it);50             this.finish();51             break;52         case R.id.textView2:53             color=(String) tv2.getText();54             it.putExtra("color",color);55             setResult(RESULT_OK, it);56             this.finish();57             break;58         case R.id.textView3:59             color=(String) tv3.getText();60             it.putExtra("color",color);61             setResult(RESULT_OK, it);62             this.finish();63             break;64         case R.id.textView4:65             color=(String) tv4.getText();66             it.putExtra("color",color);67             setResult(RESULT_OK, it);68             this.finish();69             break;70         case R.id.textView5:71             color=(String) tv5.getText();72             it.putExtra("color",color);73             setResult(RESULT_OK, it);74             this.finish();75             break;76         case R.id.textView6:77             color=(String) tv6.getText();78             it.putExtra("color",color);79             setResult(RESULT_OK, it);80             this.finish();81             break;82 83         default:84             break;85         }86         87     }88 89 }

效果图如下

 

 

总结:

这次的练习本来想得很简单只是一个单纯的启动一个Activity并返回结果但是在返回值如何和转换的问题上纠结了好长时间最后还是班里的大神交给了我们用系统性自带的Color类的方法才得以解决,QAQ在此对大神表示感谢~~

知识点:

 * 启动Activity的方式:
 * 1、startActivity(...);
 * 2、startActivityForResult(...);
 *
 * 启动一个Activity并返回结果的步骤:
 * 1、启动Activity时使用startActivityForResult方法,两个参数为:intent,请求编码
 * 2、在被启动的Activity中使用Intent来保存数据,并把intent通过setResult方法设置到返回结果中
 * 3、关闭被启动的Activity
 * 4、在启动的Activity中重写onActivityResult方法来接收返回结果
 * 5、判断请求编码与请求结果标记是否匹配,进行取值

转载于:https://www.cnblogs.com/zzsakurazz/p/4061712.html

你可能感兴趣的文章
[深入浅出Cocoa]iOS网络编程之NSStream
查看>>
HDOJ 4607 - Park Visit
查看>>
关于PHP 缓冲区
查看>>
分布式EventBus的Socket实现 - 发布订阅
查看>>
unity动态加载(翻译) .
查看>>
WIP_DISCRETE_JOBS.STATUS_TYPE
查看>>
一 VC2008环境中ICE的配置
查看>>
Win7无法添加用户的问题
查看>>
DCI:DCI学习总结
查看>>
- Shell - sort处理大文件(页 1) - ChinaUnix.net
查看>>
项目管理--执行过程组
查看>>
数据访问与sql语句的管理(一)
查看>>
前端开发框架
查看>>
风 记忆
查看>>
ARM中的PC和AXD的PC
查看>>
[转]关于ios 推送功能的终极解决
查看>>
C#中使用反射获取结构体实例
查看>>
GCT之语文细节知识
查看>>
【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo...
查看>>
VC中使用GetModuleFileName获取应用程序路径
查看>>