freedom_wings
2015-11-09 14:31
采纳率: 21.1%
浏览 1.4k

安卓,我写的在2个Activity间传递信息的代码,求大神来看看哪里出错了

先上一张logcat的截图:
图片说明

下面开始是我的代码:
第一个activity
图片说明
大概的布局如上图所示
一下activity_main.xml

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="请输入你的注册信息" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="账号:" />

    <EditText
        android:id="@+id/t1"
        android:layout_width="135dp"
        android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="密码:" />

    <EditText
        android:id="@+id/t2"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:password="true" />
</LinearLayout>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"

    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/t3"
        android:src="@drawable/a1" 
        android:layout_width="100dp"
        android:layout_height="150dp"/>

    <ImageButton
        android:id="@+id/t4"
        android:src="@drawable/a2" 
        android:layout_width="100dp"
        android:layout_height="150dp"/>

    <ImageButton
    android:id="@+id/t5"
        android:src="@drawable/a3"
        android:layout_width="100dp"
        android:layout_height="150dp" />
</LinearLayout>
 <Button 
     android:id="@+id/t10"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="确定"/>

然后以下是对应的java代码:
package com.example.test11;

import android.os.Bundle;

import android.widget.*;
import android.app.Activity;
import android.view.Menu;
import android.view.View.*;
import android.view.*;
import android.content.*;

public class MainActivity extends Activity {
EditText edit1=null;
EditText edit2=null;
ImageButton image1=null;
ImageButton image2=null;
ImageButton image3=null;
Button but=null;

int pictureId;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit1=(EditText)super.findViewById(R.id.t1);
    edit2=(EditText)super.findViewById(R.id.t2);
    image1=(ImageButton)super.findViewById(R.id.t3);
    image2=(ImageButton)super.findViewById(R.id.t4);
    image3=(ImageButton)super.findViewById(R.id.t5);

    but=(Button)super.findViewById(R.id.t10);
    but.setOnClickListener(new OnClickListenerButton());
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


public void onClick(View view)
{
    if(view.getId()==image1.getId())
        pictureId=R.drawable.a1;
    if(view.getId()==image2.getId())
        pictureId=R.drawable.a2;
    if(view.getId()==image3.getId())
        pictureId=R.drawable.a3;
}




class OnClickListenerButton implements OnClickListener
{
    public void onClick(View view)
    {
        String str1=MainActivity.this.edit1.getText().toString();
        String str2=MainActivity.this.edit2.getText().toString();
        Intent intent=new Intent();
        intent.putExtra("账号",str1);
        intent.putExtra("密码", str2);
        intent.putExtra("图片id",MainActivity.this.pictureId );
        intent.setClass(MainActivity.this,Activity2.class);
        startActivity(intent);
    }
}

}

以下是第二个activity
图片说明
上图是布局
以下是xml代码:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

    <TextView
        android:id="@+id/t20"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="你的账号是:" />

    <TextView
        android:id="@+id/t21"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="你的密码是:" />

    <TextView
        android:id="@+id/t22"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="你的头像是:" />

     <ImageView
        android:id="@+id/t6"

        android:layout_width="100dp"
        android:layout_height="150dp"/>

以下是java代码:
package com.example.test11;

import android.app.Activity;

import android.os.Bundle;
import android.widget.*;
import android.content.*;

public class Activity2 extends Activity {

TextView textview1=null;
TextView textview2=null;
TextView textview3=null;
ImageView imageview=null;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity2);
    Intent intent=getIntent();
    Bundle bundle=intent.getExtras();
    String str1=bundle.getString("账号");
    String str2=bundle.getString("密码");
    int id=bundle.getInt("图片id");
    textview1=(TextView)super.findViewById(R.id.t20);
    textview1=(TextView)super.findViewById(R.id.t21);
    textview1=(TextView)super.findViewById(R.id.t22);
    imageview=(ImageView)super.findViewById(R.id.t6);
    textview1.append(str1);
    textview2.append(str2);
    imageview.setImageResource(id);
}

}

请问大神能不能帮我看看问题出在哪里,一运行就说“抱歉,test11已停止运行”,logcat已截图。另外已在Mainifest中注册,以下再黏贴相应的mainfest中的xml代码
android:name="com.example.test11.MainActivity"
android:label="@string/app_name" >

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity 
        android:name="com.example.test11.Activity2"
        android:label="@string/app_name"></activity>

                    求大神看看是怎么回事?怎么解决?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • cxlovu 2015-11-09 14:47
    已采纳

    lz你的logcat里报了一个java.lang.outofmemoryerror,是不是加载的图片太大了?

    点赞 评论
  • Q544471255 2015-11-10 01:23

    停掉重新启动试试,你给模拟器的内存是不是有点小?可以放到真机上运行一下试试。

    点赞 评论
  • keyborad_boy 2015-11-10 06:22

    应该是图片问题。换张小图试试

    点赞 评论
  • 东风玖哥 2015-11-10 08:35

    这是OOM问题,你加载过大的图片了

    点赞 评论

相关推荐 更多相似问题