पर एंड्रॉइड ग्रिडव्यू क्रैश क्रैश, ठीक है, मुझे लगता है कि मेरे पास बदलाव के लिए एक वास्तविक सवाल है। मैंने एंड्रॉइड डेवलपर्स पेज, http://developer.android.com/resources/tutorials/views/hello-gridview.html में दिए गए निर्देशों के चरण-दर-चरण के बाद एंड्रॉइड में एक ग्रिड व्यू लागू किया, मैंने इसे बदल दिया ताकि दृश्य पर क्लिक करते समय बिटमैप वापस कर दिया जाएगा। यह गैलेक्सी नोट और गैलेक्सी एस 2 जैसे उन्नत फोन पर और गैलेक्सी ऐस जैसे कम उन्नत लोगों और यहां तक कि कुछ साल पहले से कुछ क्रैपी एचटीसी पर भी बहुत अच्छा काम करता है। लेकिन किसी कारण से, यह आउटऑफमेमरी मुद्दों के कारण आईसीएस के साथ आकाशगंगा 3 पर दुर्घटनाग्रस्त हो जाता है। ग्रिडव्यू पर छवियों के आधे हिस्से का उपयोग करते समय, यह काम करता है (हालांकि धीरे-धीरे थोड़ा सा)। क्या यह किसी के लिए कोई समझ में आता है?गैलेक्सी 3
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private int mWidth;
private int mHeight;
public ImageAdapter(Context c, int width, int height) {
mContext = c;
mWidth = width;
mHeight = height;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return mThumbIds[position];
}
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(mWidth, mHeight));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// references to our images
private Integer[] mThumbIds = {
R.drawable.third_world , R.drawable.annoyinggirl,
R.drawable.asianfather, R.drawable.awkawespeng,
R.drawable.awkpeng, R.drawable.blankdad,
R.drawable.collegesenior, R.drawable.courage,
R.drawable.frog, R.drawable.frynotsure,
R.drawable.goodguygreg, R.drawable.scumbag,
R.drawable.raptor,R.drawable.keano,
R.drawable.successkid, R.drawable.wonka,
R.drawable.braceyourselves, R.drawable.onedoesnotsimply,
R.drawable.firstworldproblem, R.drawable.amitheonlyone,
R.drawable.badluckbrian, R.drawable.interestingman,
R.drawable.toodamnhigh, R.drawable.def
};
}
यह मेरा मुख्य से बुला समारोह है:
यह ImageAdapter की मेरी कार्यान्वयन है
private void changeToTemplateView(){
setContentView(R.layout.templates);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(context, (int)(dstWidth * 1.4), (int)(dstHeight * 1.4)));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Options opts = new Options();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), (int) parent.getItemIdAtPosition(position), opts);
//do stuff with bitmap
}
});
}
और यह gridview के लिए एक्सएमएल है:
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
किसी को भी किसी भी विचार मैं गलत यहाँ क्या कर रहा हो सकता है है, तो मैं हमेशा के लिए आभारी हो जाएगा
संपादित करें: दुर्घटना से पहले, मैं लॉग में कोई त्रुटि मिलती है: "FimgApiStretch: खिंचाव विफल"। इसके अलावा, ग्रिडव्यू में स्क्रॉलिंग काम नहीं करती है। यह इस तथ्य पर ध्यान दिए बिना कि स्क्रॉल के कारण पर्याप्त थंबनेल नहीं हैं, फिर भी ऐप
क्या आप लॉगकट संदेश प्रदान कर सकते हैं? –
@ मुहन्नाद कल ही, मेरे पास गैलेक्सी एस 3 नहीं है और आज तक इसका उपयोग नहीं होगा। यदि मैं वास्तविक ग्रिडव्यू दिखाता हूं तो क्या यह कोई मदद मिलेगी? –