【问题标题】:intent not working when second activity contained image button当第二个活动包含图像按钮时,意图不起作用
【发布时间】:2015-10-14 23:40:15
【问题描述】:

所以这就是我需要的:第一页 -> 链接到第二页(带有几个图像按钮)-> 链接到不同的第三页。

现在我已经尝试了“第一页 -> 链接到第二页”阶段。

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:textSize="20sp"
    android:text="This is first activity" />
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:text="Move to second activity" />
</RelativeLayout>

MainActivity.java:

package com.example.acer.myapplication;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
  Button buttoon;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final Intent move= new Intent(this, ActivityTwo.class);
    buttoon=(Button) findViewById(R.id.button1);
    buttoon.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            startActivity(move);
        }
    });

  }
}

ActivityTwo.java:

package com.example.acer.myapplication;

import android.os.Bundle;
import android.app.Activity;
public class ActivityTwo extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_two);
    }
}

当第二页不包含任何图像按钮时,它实际上是有效的。

activity_two.xml(工作中):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="92dp"
    android:text="Second activity"
    android:textSize="20sp" />
</RelativeLayout>

没有任何图像的按钮也可以工作:

<Button
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Second activity" />

但是当你添加图像时,它就不起作用了。

使用带有背景图片的按钮(不工作):

<Button
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Second activity"
    android:background="@drawable/image"/>

使用图像按钮(不工作):

<ImageButton
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Second activity"
    android:src="@drawable/image"/>

我真的需要第二页有图像按钮。请告诉我我哪里错了或者还有其他技巧。

ps:当我说不工作时,我的意思是它构建顺利,但它只是在调用意图时在 android 手机中强制关闭。所以没有 logcat 条目。

【问题讨论】:

  • 重新检查日志,似乎您已达到堆的限制
  • 是否包含I/dalvikvm-heap: Grow heap (frag case) to 7.473MB for 2536932-byte allocation
  • 按钮、textview 和 Imagebutton 是否使用相同的 id?
  • 您确定drawable/image 存在于您认为应该存在的位置吗?你不是拼错了吗?
  • 如果发生崩溃,则存在堆栈跟踪。显示它。

标签: java android android-intent


【解决方案1】:

您的图像可能太大并且您遇到了 OOME(内存不足错误)

Force close after first run

减小图像的大小。 “默认”堆大小通常是 24MB (https://code.google.com/p/android/issues/detail?id=14869),这真的很容易被烧掉。

您可能需要为您的应用增加设备上的堆大小:

How to increase heap size of an android application?

编辑:

我应该补充一点,在自动增加堆大小之前,您应该尽一切努力减小图像大小。否则,您稍后会用完堆,然后清理所有太大的图像文件。

【讨论】:

    【解决方案2】:

    调整图像大小,尝试 100dp x 100dp 并将其放入可绘制文件夹中。不建议增加堆大小。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2021-07-21
      • 2015-09-30
      相关资源
      最近更新 更多