【问题标题】:android apps unfortunately has stopped when using intent to an activity with listView不幸的是,当使用 listView 对活动使用意图时,android 应用程序已停止
【发布时间】:2015-11-18 07:21:15
【问题描述】:

每当我对具有 listView 或 Spinner 的 Activity 使用 Intent 时,应用程序总是说“不幸的是应用程序已停止”,我还是新手。谁能告诉我如何解决这个问题? 这是 logcat:

11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime: FATAL EXCEPTION: main
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime: java.lang.OutOfMemoryError
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:524)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:377)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.content.res.Resources.loadDrawable(Resources.java:2027)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.content.res.AmigoResources.loadDrawable(AmigoResources.java:204)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.widget.ImageView.<init>(ImageView.java:120)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:60)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:56)
11-18 13:55:13.603 3768-3768/com.example.ridha.kuda E/AndroidRuntime:     at android.support.v7.internal.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:98)

还有更多。 这是我想去的活动的java代码:

   public class ViewMyOrderController extends AppCompatActivity {
     String[] orderTitles;
     int[] indicator = {R.drawable.circle, R.drawable.circle2,  R.drawable.circle3, R.drawable.circle3 };
     ListView orderList;
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_view_my_order_controller);
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
      setSupportActionBar(toolbar);
      getSupportActionBar().setDisplayHomeAsUpEnabled(true);

      Resources res= getResources();
      orderTitles=res.getStringArray(R.array.orderTitle);
      orderList=(ListView) findViewById(R.id.listView);
      MyOrderAdapter adapter= new    MyOrderAdapter(this,orderTitles,indicator);
      orderList.setAdapter(adapter);
     }
    class MyOrderAdapter extends ArrayAdapter<String>{
      Context context;
      int [] images;
      String [] titlesArray;
      MyOrderAdapter(Context c, String[] orderTitles, int[] orderImage){
        super(c,R.layout.my_order_rows,R.id.textView16, orderTitles);
        this.context=c;
        this.images=orderImage;
        this.titlesArray=orderTitles;
      }
      public View getView(int position, View convertView, ViewGroup parent){
        LayoutInflater inflater= (LayoutInflater)    context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View row=inflater.inflate(R.layout.my_order_rows,parent,false);

        ImageView orderImage= (ImageView) row.findViewById(R.id.imageView11);
        TextView orderTitle= (TextView) row.findViewById(R.id.textView16);


        orderImage.setImageResource(images[position]);
        orderTitle.setText(titlesArray[position]);

        return row;
     }
  }

【问题讨论】:

  • OutOfMemoryError - 你的图片太大了。

标签: android listview android-intent


【解决方案1】:

在清单中尝试largeHeap="true"

并压缩您在Listview 中使用的所有图像 .

【讨论】:

  • 在application标签下只写android:largeHeap="true"
  • 在 manifest android-studio 1.4 中找不到 largeHeap="true",我使用的图像小于 20KB。当我检查 bitmapFactory 类时,我在 traceBegin() 中发现了一个错误。它说无法解决方法。我不知道该怎么做或安装,因为我的 android-studio 中似乎缺少一些东西
  • 我使用的是android studio 1.4,我尝试在manifest中寻找“largeHeap”但找不到。我必须自己添加吗?在哪一部分?(活动,权限标签或应用程序)我使用的图像大小
  • 你必须像我提到的那样在应用程序标签下的清单中添加它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多