View Full Version : تغییر عکس imageview
big lost
دوشنبه 19 خرداد 1393, 15:13 عصر
میخواستم وقتی توی برنامم روی عکس کلیک میکنم عکسش عوض بشه
مثلا یه عکسی با نام worda.jpg دارم ، میخوام وقتی روی عکس کلیک کنم عکس رو با wordb.jpg عوض کنه
لطفا راهنمایی کنین
با تشکر
hosseinaryai
دوشنبه 19 خرداد 1393, 17:43 عصر
توی رویداد setOnClickListener عکست اینو می نویسی :
imagebox_name.setImageResource(r.worda.jpg)
اگرم عکستو از توی sdcard می خوای بخونی میشه این :
Bitmap bmp = BitmapFactory.
decodeFile(Environment.
getExternalStorageDirectory()+
+ "/" +
worda.jpg)
imagebox_name.setImageBitmap(bmp);
big lost
چهارشنبه 21 خرداد 1393, 19:54 عصر
این کد رو تونستم بدست بیارم
این کد به این صورت کار میکنه : که وقتی روی button کلیک میشه یه عکس به صورت Random از بین 5 عکس داده شده در برنامه نمایش داده میشود .
میخوام به جای این که random عکس رو انتخاب کنه ، به ترتیب عکس ها رو انتخاب کنه
یعنی اول عکس شماره 1 بعد عکس شماره 2 و .....
چه کدی باید به جای random بنویسم ؟
اینم کد :
package com.example.image;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity
{
final int[] images = {
R.drawable.easy1, R.drawable.easy2,
R.drawable.easy3, R.drawable.easy4,
R.drawable.ic_launcher };
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button shuffle = (Button) findViewById(R.id.button1);
shuffle.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
Random rng = new Random();
List<Integer> generated = new ArrayList<Integer>();
for (int i = 0; i < 5; i++)
{
while(true)
{
Integer next = rng.nextInt(5) ;
if (!generated.contains(next))
{
generated.add(next);
ImageView iv = (ImageView)findViewById(R.id.imageView1);
iv.setImageResource(images[next]);
break;
}
}
}
}
});
}
}
big lost
چهارشنبه 21 خرداد 1393, 21:49 عصر
لطفا یکی جواب منو بده
dasssnj
پنج شنبه 22 خرداد 1393, 11:05 صبح
با این کد هر بار که روی دکمه کلیک بشه عکس بعدی را نشون می ده و هر وقت عکس ها به آخر رسید دوباره از اول شروع می کنه. (البته من تستش نکردم همین الان نوشتمش شما تست کن مشکلی نداشته باشه)
package com.example.image;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity
{
int index = 0;
final int[] images = {
R.drawable.easy1, R.drawable.easy2,
R.drawable.easy3, R.drawable.easy4,
R.drawable.ic_launcher };
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button shuffle = (Button) findViewById(R.id.button1);
shuffle.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
if(index < 4){
ImageView iv = (ImageView)findViewById(R.id.imageView1);
iv.setImageResource(images[index++]);
}
else {
index = 0;
ImageView iv = (ImageView)findViewById(R.id.imageView1);
iv.setImageResource(images[index++]);
}
}
}
}
});
}
}
big lost
پنج شنبه 22 خرداد 1393, 14:38 عصر
مرسی از این که کمکم کردین
یه سری ارور جزئی داشت که درستش کردم
package com.example.image;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity
{
int index = 0;
final int[] images = {
R.drawable.easy1, R.drawable.easy2,
R.drawable.easy3, R.drawable.easy4,
};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView shuffle = (ImageView)findViewById(R.id.imageView1);
shuffle.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
if(index < 4){
ImageView iv = (ImageView)findViewById(R.id.imageView1);
iv.setImageResource(images[index++]);
}
else {
index = 0;
ImageView iv = (ImageView)findViewById(R.id.imageView1);
iv.setImageResource(images[index++]);
}
}
});
}
}
dasssnj
پنج شنبه 22 خرداد 1393, 20:03 عصر
بله گفته بودم تستش نکردم. فقط نوشتمش.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.