问题描述
- 安卓,我写的在2个Activity间传递信息的代码,求大神来看看哪里出错了
-
先上一张logcat的截图:
下面开始是我的代码:
第一个activity
大概的布局如上图所示
一下activity_main.xmlxmlns: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> 求大神看看是怎么回事?怎么解决?
解决方案
lz你的logcat里报了一个java.lang.outofmemoryerror,是不是加载的图片太大了?
解决方案二:
停掉重新启动试试,你给模拟器的内存是不是有点小?可以放到真机上运行一下试试。
解决方案三:
应该是图片问题。换张小图试试
解决方案四:
这是OOM问题,你加载过大的图片了