Страница 1 из 1
Не могу поменять местами изображения, помогите, пожалуйста!
Добавлено: 25 июл 2014, 16:25
Kotlee
Здравствуйте! я только начала изучать андроид, взяла задачу вроде типовую и несложную, и вдруг столкнулась с трудностью. Нужно создать Layout с двумя картинками и одной кнопкой. по клику кнопки картинки должны поменяться местами. задача должна очень просто решаться, а я вижу только сложное решение и то оно не работает) я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 25 июл 2014, 16:59
anber
Kotlee писал(а):я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.
внутри него писать код который делает следующие вещи:
ImageIVew1 установить картинку которая была установлена в ImageIVew2
ImageIVew2 установить картинку которая была установлена в ImageIVew1
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 25 июл 2014, 17:55
Kotlee
anber писал(а):Kotlee писал(а):я всё сделала кроме самого метода клика. не могу понять, что писать внутри него, в нём вся проблема.
внутри него писать код который делает следующие вещи:
ImageIVew1 установить картинку которая была установлена в ImageIVew2
ImageIVew2 установить картинку которая была установлена в ImageIVew1
anber, да, именно с этого я и начинала. но то ли я в синтаксисе андроида ещё путаюсь - возникали какие-то ошибки. не могли бы вы просто приложить синтаксическую схему строки, устанавливающей картинку? там же через её id, использую метод set?
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 25 июл 2014, 18:45
Kotlee
anber, всё, сделала, благодаря вашей подсказке разобралась! спасибо!
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 25 июл 2014, 18:46
anber
Kotlee писал(а):anber, всё, сделала, благодаря вашей подсказке разобралась! спасибо!
ну вот а я только начал сообщение набирать

Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 13:13
Kotlee
)
может быть тогда ещё немного поможете?) снова запуталась, сколько ищу ответ - не вижу его. в этой же задаче - как реализовать множественное нажатие кнопки? т.е. чтобы картинки менялись при каждом нажатии, пока у меня всё заканчивается на первом. через циклы пробовала - эмулятор выдаёт ошибку и закрывается.
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 15:45
altwin
Kotlee писал(а):)
может быть тогда ещё немного поможете?) снова запуталась, сколько ищу ответ - не вижу его. в этой же задаче - как реализовать множественное нажатие кнопки? т.е. чтобы картинки менялись при каждом нажатии, пока у меня всё заканчивается на первом. через циклы пробовала - эмулятор выдаёт ошибку и закрывается.
скорее всего проблема именно в логике обмена, метод onclick срабатывает при каждом нажатии.
P.S. если бы кто -то увидел ваш код, было бы проще понять причну.
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 17:41
Kotlee
вот, выкладываю полный код 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);
}
}
что не так?
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 18:34
Foenix
чтоб было понятно - форматируй уже код
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 18:37
altwin
я к сожалению не имею возможности сейчас проверять работоспособность, но суть простая, id ресурса - это числовая переменная и получить id вашего изображения в переменную вы можете к примеру так: getResources().getDrawable(R.drawable.img); Т.е. вы имеете две переменные которые и передаете в iV1.setImageResource(); , тоже и с iV2. Далее вам просто нужно в методе оnclick, перед тем, как устанавливать значение выполнить замену. к примеру:
[syntax=java5]img1 = img1 + img2;
img2 = img1 - img2;
img1 = img1 - img2;[/syntax]
в общем то, как заменить значение в двух переменных - хорошо описанно и ответ вы уже легко найдете. Но вообще варриантов много, просто посмотрите какая именно ошибка вылазит и исправляйте по порядку.
Re: Не могу поменять местами изображения, помогите, пожалуйс
Добавлено: 26 июл 2014, 19:11
Kotlee
хорошо, буду пробовать..спасибо!)