버튼 클릭을 사용하여 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를 사용하여 배경 이미지를 바꾸려고하는 모든 사람에게 적합합니다. 제발 그만 하지마. 디버깅하는 동안 많은 메모리 사용량과 충돌이 발생합니다.
대신 ImageSwitcher를 사용하십시오. 이렇게하면보기가 전체 화면 배경을 가질 수 있습니다. drawable 리소스의 배열 중에서 선택하고 버튼을 사용하여 순서 섞기를 할 수 있습니다.
안녕 .show 로그 –
어디가 충돌한다 나? 또한 해당 활동의 일부 코드가 누락되었습니다. 어디에서'onCreate'를 대체하고 있습니까? – ono