我試圖在運行時更新imageButton的圖像。我有一個switch語句,用於檢查從另一個活動傳遞的ID。我知道switch語句正在工作,因爲正確的ID被傳遞給TextView。無法在運行時更改imageButton上的圖像
我一直在尋找和看到一些例子使用ImageView和其他人使用ImageButton。正如你可以看到下面我已經嘗試了兩個都沒有工作。
XML佈局:
<ImageButton android:visibility="gone" android:id="@+id/imageButton" android:src="@drawable/defaultimage" android:layout_width="97dp" android:layout_height="95dp"></ImageButton>
<TextView android:visibility="gone" android:text="TextView" android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true"></TextView>
Java代碼:
case 1:{
// Location 1
ImageView ImageButton = (ImageView)findViewById(R.id.imageButton);
ImageButton .setImageResource(R.drawable.image1);
ImageButton .setVisibility(0);
TextView Test = (TextView)findViewById(R.id.textView);
Test.setVisibility(0);
Test.setText("ID passed is" + id);
break;
}
case 2:{
// Location 2
ImageButton ImageButton = (ImageButton)findViewById(R.id.imageButtonGhostCamLocation);
ImageButton .setBackgroundResource(R.drawable.image2);
ImageButton .setVisibility(0);
TextView Test = (TextView)findViewById(R.id.textView);
Test.setVisibility(0);
Test.setText("ID passed is" + id);
break;
UPDATE
得到它的工作!我剛剛從xml佈局中的ImageButton中刪除了Android src,現在它工作正常。謝謝您的幫助!
首先,您應該檢查Java命名約定(http://java.about.com/od/javasyntax/a/nameconventions.htm)。 'ImageButton ImageButton =(ImageButton)findViewById(..)'沒有任何意義。 – Stephan
它是如何編譯的? – Blackbelt
我在這裏更改了名稱,使其更易於閱讀... ImageButton ImageButton實際上是ImageButton myImageButtonName。對於那個很抱歉。 :-) –