Замените одно изображение другим после нажатия кнопки - PullRequest
2 голосов
/ 11 августа 2011

Я определил изображение в моем XML-файле (imageview).Я хотел бы изменить его на другое изображение после нажатия кнопки в моей деятельности.Как я могу это сделать?

Ответы [ 8 ]

3 голосов
/ 11 августа 2011

Сначала вы implements OnClickListener взаимодействуете с вашим классом активности. Java-код

    package it.codegen.tbx.my;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MytestdroidActivity extends Activity implements OnClickListener {


    Button b1;
    ImageView iw;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

       b1 = (Button) findViewById(R.id.button1);
       b1.setOnClickListener(this); 

       iw = (ImageView) findViewById(R.id.icon);
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (v == b1)
        {
            iw.setImageResource(R.drawable.camara);
        }

    }
}

XML-файл

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
<ImageView android:id="@+id/icon" android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:src="@drawable/icon"
        />
<Button android:text="Button" android:id="@+id/button1"
 android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>


</LinearLayout>

у вас должно быть 2 изображения в вашей нарисованной папке, значок вызова и камара

2 голосов
/ 11 августа 2011
public void onClick(View v) {
image1.setImageResource ( R.drawable.another);
}
1 голос
/ 10 октября 2017

Я надеюсь, что смогу решить это

ImageView imagen = (ImageView)findViewById(R.id.imageViewX);
imagen.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
        ImageView perse = (ImageView) findViewById(R.id.imageViewX);
        perse.setImageResource(R.drawable.fondochange);
     }
});
1 голос
/ 01 июля 2017

Это довольно просто сделать,

// Сначала я создаю переменную с именем OldImage типа ImageView и связываю ее с ImageView

файла макета.
 ImageView oldImage = (ImageView) findViewById(R.id.oldImageFileName);

// Создать метод OnClickListener, чтобы обновить ресурс файла при клике до NewFileName ,

 oldImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                oldImage.setImageResource(R.drawable.newFileName);
            }
        });
1 голос
/ 11 августа 2011

Для этого я использовал ToggleButton и назначил пользовательский селектор в качестве фона:

<ToggleButton android:background="@drawable/custom_selector>

Чтобы избежать изменения источника, используйте селектор, который можно поместить в каталог drawable \ custom_selector.xml, т.е.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/image_pressed" android:state_checked="true" />
    <item android:drawable="@drawable/image" />
</selector>
1 голос
/ 11 августа 2011

Попробуйте что-то вроде этого:

final Button switchButoon = new Button(mContext);
final ImageView imageView = new ImageView(mContext);

switchButoon.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        imageView.setImageResource(R.drawable.icon);
    }
});
1 голос
/ 11 августа 2011

Это очень простая вещь, которую вы должны выучить, выполняя учебные пособия и читая документы для начинающих.Вот образец:

findViewById(R.id.button).setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        final ImageView imageView = (ImageView) findViewById(R.id.image_view);
        imageView.setImageResource(R.drawable.some_drawable);
    }
}
0 голосов
/ 26 марта 2017

В слушателе нажатия кнопки просто установите ваше изображение как

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
    imageView.setImageResource(R.drawable.your_image);
}});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...