我想改變使用按鈕點擊imageview的背景。點擊每個按鈕都需要旋轉背景。Android更改Imageview與按鈕點擊
問題:我的應用程序代碼編譯正常,但單擊按鈕時崩潰。此外,日誌顯示了我們創建它的實例的imageview點。
我怎樣才能在代碼中找出問題,並
這裏是我的activity.xml代碼。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.devnami.maya.maya.MainActivity"
> <ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/forest"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/view1"
/> <ImageButton
android:id="@+id/button1"
android:layout_width="45dp"
android:layout_height="45dp"
android:textStyle="bold"
android:textColor="#FFFFFF"
android:background="@drawable/flower"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
/> </RelativeLayout>
這裏是我的activitymain.java
public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton one = (ImageButton) this.findViewById(R.id.button1);
ImageButton one = (ImageButton) this.findViewById(R.id.button1);
one.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ImageView iv =(ImageView)this.findViewById(R.id.view1)
int i = 0;
if (i == 0) {
iv.setImageResource(R.drawable.mountain));
i++;
} else if (i == 1) {
iv.setImageResource(R.drawable.seashore3);
i++;
} else if (i == 2) {
iv.setImageResource(R.drawable.night1);
i++;
} else if (i == 3) {
iv.setImageResource(R.drawable.forest);
i = 0;
}
}
});
代碼注意先前發佈的問題在這裏計算器,我的問題是沒有關係的。正如我在這裏試圖完成的是使用buttonclick改變imageview的圖像。這在以前的任何問題中都沒有涉及。
更新:對於任何試圖使用imageview交換背景圖像的人,如問題中所述。請不要這樣做。在調試時,您需要經歷很多內存使用和崩潰。
改爲使用ImageSwitcher。這使您的視圖具有全屏幕背景。您可以從可繪製資源數組中進行選擇,然後使用按鈕進行隨機播放。
嘿.show我的日誌 –
它在哪裏崩潰?另外,您錯過了該活動的一些代碼;你在哪裏重寫'onCreate'? – ono