Я новичок в Android Studio и столкнулся с проблемой. У меня есть андроид приложение, которое происходит сбой, если я прокрутки вверх или вниз, первые 12 изображений отображаются нормально, но я не могу показаться, чтобы прокрутить, чтобы увидеть другие изображения, которые я закодированы вСбой приложения при прокрутке вверх или вниз
main_activity.xml:.
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer_layout">
<RelativeLayout
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
</RelativeLayout>
<ListView
android:layout_width="200dp"
android:layout_height="match_parent"
android:id="@+id/lv_sliding_menu"
android:background="#FFFFFF"
android:choiceMode="singleChoice"
android:layout_gravity="start"/>
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="128dp"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:gravity="center"/>
ImageAdapter.java:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
// Constructor
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
// 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) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(260, 260));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
}
else
{
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// Keep all Images in array
public Integer[] mThumbIds = {
R.drawable.img1, R.drawable.img2,
R.drawable.img3, R.drawable.img4,
R.drawable.img5, R.drawable.img6,
R.drawable.img7, R.drawable.img8,
R.drawable.img9, R.drawable.img10,
R.drawable.img11, R.drawable.img12,
R.drawable.img13, R.drawable.img14,
R.drawable.img15, R.drawable.img16,
};
}
MainActivity.java:
gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
Logcast:
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: FATAL EXCEPTION: main
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: Process: app.tvtracker.kls.tvtracker, PID: 3875
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: java.lang.OutOfMemoryError
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:594)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:429)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:2110)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.content.res.Resources.getDrawable(Resources.java:700)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.ImageView.resolveUri(ImageView.java:638)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.ImageView.setImageResource(ImageView.java:367)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at app.tvtracker.kls.tvtracker.ImageAdapter.getView(ImageAdapter.java:43)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.AbsListView.obtainView(AbsListView.java:2255)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.GridView.makeAndAddView(GridView.java:1345)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.GridView.makeRow(GridView.java:345)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.GridView.fillDown(GridView.java:287)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.GridView.fillGap(GridView.java:247)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5143)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.widget.AbsListView.onGenericMotionEvent(AbsListView.java:3811)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEventInternal(View.java:7801)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7782)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchTransformedGenericPointerEvent(ViewGroup.java:1824)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewGroup.dispatchGenericPointerEvent(ViewGroup.java:1777)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchGenericMotionEvent(View.java:7775)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchGenericMotionEvent(PhoneWindow.java:2076)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow.superDispatchGenericMotionEvent(PhoneWindow.java:1525)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.app.Activity.dispatchGenericMotionEvent(Activity.java:2494)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.support.v7.internal.view.WindowCallbackWrapper.dispatchGenericMotionEvent(WindowCallbackWrapper.java:70)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchGenericMotionEvent(PhoneWindow.java:2030)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:7888)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3947)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3826)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3411)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3518)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3419)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3575)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3392)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3442)
04-13 08:21:36.583 3875-3875/app.tvtracker.kls.tvtracker E/AndroidRuntime: at android.vi
04-13 08:21:39.051 3875-3875/? I/Process: Sending signal. PID: 3875 SIG: 9
Какая ошибка? OOM? изображения слишком большие ... NPE? проверьте, что является нулевым и исправить это ... – Selvin
Я изначально не опубликовал полный протокол, извинения. – Luke