2012-06-27 60 views
0

這是創建一個賀卡應用程序,在這裏我必須改變視圖的背景顏色(這是卡的背景),當點擊一個按鈕時。當我點擊標有紅色的按鈕時,視圖應該將其顏色更改爲紅色。等等。有人可以幫我弄這個嗎?在android中單擊按鈕更改視圖的顏色?

public void myClickHandler(View view) { 
    switch (view.getId()) { 
     case R.id.btn1: 

     layout= (FrameLayout) findViewById(R.id.laidout); 
     layout.setBackgroundColor(Color.RED); 
     break; 

     } 
+2

你是什麼意思的「不工作」?你如何使用這段代碼?這個方法從哪裏調用? –

+0

嘗試...設置FrameLayout父項顏色不適合你? –

+0

@namida問題是否解決? –

回答

0

你應該在的onClick(查看視圖)方法,而不是myClickHandler()編寫代碼和ID「BTN1。 「應該是您在xml文件中聲明的id名稱。

+0

我確實將事件改爲onClick,但仍然在LogCat中出現錯誤。 –

+0

logcat中的錯誤是什麼? –

+0

在dalvik.system.NativeStart.main和上面的一些其他錯誤。 –

1

我不認爲你的myClickHandler將工作,試試這個:

button.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // your switch case etc... 
    } 
}); 
+0

當我點擊按鈕時,進程停止。 –

+0

這是我修改它的方式。並在Logcat中發生錯誤,並且進程停止。 \t btn1.setOnClickListener(新OnClickListener(){ \t \t @Override \t \t公共無效的onClick(視圖v){ \t \t \t開關(v.getId()){ \t \t \t情況R.id .btn1: \t \t \t \t \t \t \t \t佈局=(的FrameLayout)v.findViewById(R.id.laid出); \t \t \t \t layout.setBackgroundColor(Color.RED); \t \t \t \t break; \t \t \t} \t \t} \t \t}); \t \t} –

+0

什麼錯誤? –

相關問題