作者cavitylapper (狼子野心)
看板AndroidDev
標題[問題] 請問要怎麼動態的幫ImageView換圖
時間Tue Sep 17 00:35:33 2013
我有一個calss繼承了PreferenceActivity
extends PreferenceActivity
implements Preference.OnPreferenceChangeListener, OnPreferenceClickListener
畫面中放了一個ImageView
然後這個preferenceActivity中還有一個元件
設定成這樣
android:clickable="true"
android:onClick="onClick"
總之這個元件可以點擊 類似按鈕 點了以後會呼叫onClick這個method
我的目的是希望點擊事件發生後以後 ImageView要換成別的圖
所以我在onClick寫了類似這樣的東西
image_A = (ImageView) findViewById(R.id.category_divider_up);
if(某個條件為true)
{
//一開始的嘗試
image_A.setImageResource(R.drawable.arrow_down);
//失敗後換這一個
Drawable drawable = this.getResources().getDrawable(R.drawable.arrow_down);
image_A.setImageDrawable(drawable);
//還是不行 再換成這一個
Resources resources = getResources();
image_A.setImageDrawable(resources.getDrawable(R.drawable.arrow_down));
//最後嘗試用這一個
//image_A.setImageResource(R.drawable.arrow_down);
//image_A.invalidate();
}
else if(某個條件為false)
{
//做和if內類似的事情 只是把image_A的資源id換成另一個
}
但是不管怎麼做
我的ImageView的圖就是不會換
請問該怎麼辦....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.185.6
※ 編輯: cavitylapper 來自: 114.37.185.6 (09/17 00:36)
推 typepeter:確定Click事件有被觸發嗎? 09/17 00:37
→ cavitylapper:這個確定有 我有試著印log出來看過 09/17 00:41
→ typepeter:理論上應該是可以...說不定有其它問題存在(邏輯錯或錯字 09/17 00:49
→ gohomexx:有跳 exception 嗎?建議 clean 專案後 rebuild 試試 09/17 10:21
推 BearrrXD:我覺得findviewbyid可以放onstart或是oncreate看看 09/17 13:02
推 locklose:get不是只拿檔案符號嗎? 你要不要用creatfrompath塞到 09/17 14:22
→ locklose:drawable 中,再將drawable set 給imageview? 09/17 14:24
推 locklose:載入圖片不是都用creat系列嗎? 09/17 14:28
→ ted66:刷新看看 09/25 13:16