Не могу поменять местами изображения, помогите, пожалуйста!

Ответить
Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Не могу поменять местами изображения, помогите, пожалуйста!

Сообщение Kotlee » 25 июл 2014, 16:25

Здравствуйте! я только начала изучать андроид, взяла задачу вроде типовую и несложную, и вдруг столкнулась с трудностью. Нужно создать Layout с двумя картинками и одной кнопкой. по клику кнопки картинки должны поменяться местами. задача должна очень просто решаться, а я вижу только сложное решение и то оно не работает) я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение anber » 25 июл 2014, 16:59

Kotlee писал(а):я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.
внутри него писать код который делает следующие вещи:
ImageIVew1 установить картинку которая была установлена в ImageIVew2
ImageIVew2 установить картинку которая была установлена в ImageIVew1
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Kotlee » 25 июл 2014, 17:55

anber писал(а):
Kotlee писал(а):я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.
внутри него писать код который делает следующие вещи:
ImageIVew1 установить картинку которая была установлена в ImageIVew2
ImageIVew2 установить картинку которая была установлена в ImageIVew1
anber, да, именно с этого я и начинала. но то ли я в синтаксисе андроида ещё путаюсь - возникали какие-то ошибки. не могли бы вы просто приложить синтаксическую схему строки, устанавливающей картинку? там же через её id, использую метод set?

Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Kotlee » 25 июл 2014, 18:45

anber, всё, сделала, благодаря вашей подсказке разобралась! спасибо!

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение anber » 25 июл 2014, 18:46

Kotlee писал(а):anber, всё, сделала, благодаря вашей подсказке разобралась! спасибо!
ну вот а я только начал сообщение набирать ;)
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Kotlee » 26 июл 2014, 13:13

)

может быть тогда ещё немного поможете?) снова запуталась, сколько ищу ответ - не вижу его. в этой же задаче - как реализовать множественное нажатие кнопки? т.е. чтобы картинки менялись при каждом нажатии, пока у меня всё заканчивается на первом. через циклы пробовала - эмулятор выдаёт ошибку и закрывается.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение altwin » 26 июл 2014, 15:45

Kotlee писал(а):)

может быть тогда ещё немного поможете?) снова запуталась, сколько ищу ответ - не вижу его. в этой же задаче - как реализовать множественное нажатие кнопки? т.е. чтобы картинки менялись при каждом нажатии, пока у меня всё заканчивается на первом. через циклы пробовала - эмулятор выдаёт ошибку и закрывается.
скорее всего проблема именно в логике обмена, метод onclick срабатывает при каждом нажатии.

P.S. если бы кто -то увидел ваш код, было бы проще понять причну.
Изображение

Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Kotlee » 26 июл 2014, 17:41

вот, выкладываю полный код MainActivity, были вариации, я специально оставила только костяк, чтобы было понятно:

package fu.example.fu;


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;
import android.widget.RelativeLayout;

public class MainActivity extends Activity implements OnClickListener{

ImageView iV1;
ImageView iV2;
Button b1;
int wrapContent = RelativeLayout.LayoutParams.WRAP_CONTENT;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

iV1 = (ImageView) findViewById (R.id.iV1);
iV2 = (ImageView) findViewById (R.id.iV2);
b1 = (Button) findViewById (R.id.b1);

b1.setOnClickListener(this);

}


@Override

public void onClick(View v) {

iV1.setImageResource(R.drawable.andr);
iV2.setImageResource(R.drawable.images);

iV1.setImageResource(R.drawable.images);
iV2.setImageResource(R.drawable.andr);


}

}

что не так?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Foenix » 26 июл 2014, 18:34

чтоб было понятно - форматируй уже код
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение altwin » 26 июл 2014, 18:37

я к сожалению не имею возможности сейчас проверять работоспособность, но суть простая, id ресурса - это числовая переменная и получить id вашего изображения в переменную вы можете к примеру так: getResources().getDrawable(R.drawable.img); Т.е. вы имеете две переменные которые и передаете в iV1.setImageResource(); , тоже и с iV2. Далее вам просто нужно в методе оnclick, перед тем, как устанавливать значение выполнить замену. к примеру:
[syntax=java5]img1 = img1 + img2;
img2 = img1 - img2;
img1 = img1 - img2;[/syntax]
в общем то, как заменить значение в двух переменных - хорошо описанно и ответ вы уже легко найдете. Но вообще варриантов много, просто посмотрите какая именно ошибка вылазит и исправляйте по порядку.
Изображение

Kotlee
Сообщения: 7
Зарегистрирован: 25 июл 2014, 16:10

Re: Не могу поменять местами изображения, помогите, пожалуйс

Сообщение Kotlee » 26 июл 2014, 19:11

хорошо, буду пробовать..спасибо!)

Ответить