بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در گالری عکس ؟(خیلی ضروریه!)
دوستان توی این کدی که نوشتم یه مشکلی هست وقتی روی یه عکس کلیک می کنم باید بره صفحه دیگه و همون عکس رو نشون بده ولی با کلیک روی عکس force close میشه و خطای nullPointExciption رو می ده و می گه UriString تون مقدارش null هست دوستان کسی دلیلش رو می دونه ؟
public class PhotogalleryActivity extends Activity {
GridView gv;
ArrayList<File> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = imageReader(Environment.getExternalStorageDirectory());
gv = (GridView) findViewById(R.id.gridView);
gv.setAdapter(new GridAdapter());
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
startActivity(new Intent(PhotogalleryActivity.this, ViewImage.class).putExtra("img", list.get(arg2)));
}
});
}
class GridAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub
convertView = getLayoutInflater().inflate(R.layout.single_gride, arg2, false);
ImageView iv = (ImageView) convertView.findViewById(R.id.imageView);
iv.setImageURI(Uri.parse(getItem(arg0).toString()));
return convertView;
}
}
ArrayList<File> imageReader(File root) {
ArrayList<File> a = new ArrayList<File>();
File[] files = root.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
a.addAll(imageReader(files[i]));
} else {
if (files[i].getName().endsWith(".jpg")) {
a.add(files[i]);
}
}
}
return a;
}
}
اینم کد اکتیویتی دوم
public class ViewImage extends Activity {
ImageView iv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewimage);
iv2 = (ImageView) findViewById(R.id.imageView1);
Intent i = getIntent();
String f = i.getStringExtra("img");
iv2.setImageURI(Uri.parse(f));
}
}
0
0
دوستان لطفا جواب بدید خیلی عجله ایه؟!!!!!!!!!!!!
(10 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
محسن علیزاده
10 سال پیش
+1
0
اینو:
list.get(arg2)
به این تغییر بده ببین درست میشه؟
list.get(arg2).toString()
پاسخ به سوال
محسن علیزاده
10 سال پیش
+1
0
از این تابع استفاده کن:
try {
InputStream bitmap=getAssets().open("icon.png");
Bitmap bit=BitmapFactory.decodeStream(bitmap);
img.setImageBitmap(bit);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .