如何在活动和另一个活动之间传递视图的颜色?

时间:2016-02-27 15:34:27

标签: java android view colors

有没有办法在活动和另一个活动之间传递视图或按钮的颜色?

“将选择颜色的用户”

我尝试了很多,每次运行时,都会收到消息:“不幸的是应用程序停止了”!当我打开activity2

2 个答案:

答案 0 :(得分:0)

这样做....

  1. 获取所选颜色的ID
  2. 将该颜色传递给activity2
  3. 从资源中加载该颜色
  4. 活动1

     Intent pass = new Intent( );
     Bundle extras = new Bundle();
     extras.putInt("colorResourceName", colorResourceName);
     pass.putExtras(extras);
     startActivity(pass);
    

    活动2

    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         Bundle data = getIntent().getExtras();
         int colorResourceName = data.getIntExtra("colorResourceName", -1);
    
    }
    

答案 1 :(得分:0)

根据Xoce的回复,如果您没有将颜色定义为资源或者只是知道它的十六进制代码,您也可以执行此类操作:

活动1

Intent pass = new Intent( );
Bundle extras = new Bundle();
extras.putInt("colorHexCode", colorHexCode); //Example of color code: "#FFFFFF"
pass.putExtras(extras);
startActivity(pass);

活动2

public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 Bundle data = getIntent().getExtras();
 String colorHexCode = data.getStringExtra("colorHexCode");
 TextView textView = (TextView) findViewById(R.id.my_text_view);
 textView.setTextColor(Color.parseColor(colorHexCode));
}