繁体   English   中英

当第二个活动包含图像按钮时,意图不起作用

[英]intent not working when second activity contained image button

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

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

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);
    }
}

当第二页DID不包含任何图像按钮时,它实际上正在工作。

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:当我说不工作时,我的意思是它构建平稳,但是当调用intent时,它被强制关闭在android手机中。 因此没有logcat条目。

您的图片可能太大,并且收到OOME(内存不足错误)

第一次运行后强制关闭

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

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

如何增加Android应用程序的堆大小?

编辑:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM