2013-02-01 77 views
-1

您好,我這裏有一個時鐘部件,我希望它改變它的背景,每2分鐘,但是當我使用不能改變的TextView的背景

R.id.widget_textview.setBackgroundResource(R.drawable.pic1); 

它說

Cannot invoke setBackgroundResource(int) on the primitive type int 

,並改變它的背景我需要循環變量我在那裏,如果條件,如果1使用圖片1,然後等待2分鐘,如果2使用圖片2,如果10使用圖10和i = 1再次。有沒有比這更好的方法?

回答

2

更改您的代碼爲:

TextView textview = (TextView)findViewById(R.id.widget_textview); 
textview.setBackgroundResource(R.drawable.pic1); 

因爲R.id.widget_textview是TextView中的ID

+0

我得到一個錯誤的方法findViewById(INT)是未定義的類型的widget如何解決這一問題?謝謝btw回答它非常有用 – user2033624

+0

@ user2033624:嘗試它爲'TextView textview =(TextView)Current_Context.findViewById(R.id.widget_textview);' –

1

R.id.widget_textview是一個int。

您將首先需要做findViewById(R.id.widget_textview)以獲得View

+0

我得到一個錯誤findViewById(int)方法未定義的類型控件如何解決這個問題?感謝btw回答它非常有用 – user2033624

+0

哦,如果你正在創建一個小部件,你將需要使用'RemoteViews'。檢查此src代碼:https://github.com/Macarse/DuolingoWidget/blob/master/src/com/nasatrainedmonkeys/duolingowidget/service/WidgetUpdateService.java – Macarse

0
R.id.widget_textview.setBackgroundResource(R.drawable.pic1); 

你不能那樣做。你必須做這樣的事情:

TextView myTxt = (TextView) findViewById(R.id.widget_textview); 
myTxt.setBackgroundResource(R.drawable.pic1);