2016-02-27 29 views
-1

有沒有辦法在活動和其他活動之間傳遞視圖或按鈕的顏色?我如何在活動與其他活動之間傳遞色彩?

「誰都會選擇顏色的用戶」我想了很多,我每次運行它的時候,我得到的消息:「不幸的是應用程序已經停止」!當我打開活性2

+3

[使用logcat的(https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this)檢查與相關的Java堆棧跟蹤您的崩潰。如果您需要現有方法的幫助,請編輯您的問題以獲得[mcve],並更詳細地解釋「視圖顏色」的含義。 – CommonsWare

回答

0

做到這一點....

  1. 得到selcted顏色的ID
  2. 通該顏色的活性2
  3. 負荷,從資源的顏色

活動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); 

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