要求是这样的:主界面上有一个“登录”按钮,单击“登录”按钮后打开一个新的Activity
新的Activity上面有输入用户名和密码的TextEdit控件和一个“退出”按钮,在用户关闭这个Activty后,将用户输入的用户名和密码传递到主界面中。以下是我写的程序:
第一个页面的XML文件如下:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FF0000" >
<TextView
android:id="@+id/textView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="18dip"
android:textColor="#ffffff" /> <Button
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回" /></LinearLayout>第二个页面的XML文件如下:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆我的安卓吧!"
android:textSize="30dip" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="20dip" /> <EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="numberPassword" > <requestFocus />
</EditText> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码"
android:textSize="20dip"/>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" />
</LinearLayout> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出" />
</LinearLayout>java代码如下:package com.example.logon07111030;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity { Button button01;
TextView textView01;
protected Intent bundle;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01=(Button) findViewById(R.id.button01);
textView01=(TextView) findViewById(R.id.textView01);
button01.setOnClickListener(new OnClickListener(){ //按钮接口监听器 public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
MainActivity.this.finish();
}
});
}
public void onActivityResult(int requestCode,int resultCode,Intent date){
switch(resultCode){
case RESULT_OK:
Bundle bundle=date.getExtras();
/*String xm=editText1.getText().toString().trim(); //获得姓名 trim是取出字符前面的空格
String ah=editText2.getText().toString().trim(); //获得爱好
String tc=editText3.getText().toString().trim(); //获取特长
editText1=(EditText) findViewById(R.id.editText1); //特长
editText2=(EditText) findViewById(R.id.editText2); //爱好
editText3=(EditText) findViewById(R.id.editText3); //特长
editText1.setText(xm);
editText2.setText(ah);
editText3.setText(tc);*/
String xm=textView01.getText().toString();
textView01=(TextView) findViewById(R.id.textView1);
textView01.setText(xm);
break;
}
}
}
另一个是:package com.example.logon07111030;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class Second extends Activity {
Button button1;
EditText editText1,editText2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
button1=(Button) findViewById(R.id.button1);
editText1=(EditText) findViewById(R.id.editText1);
editText2=(EditText) findViewById(R.id.editText2);
button1.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub
String zhanghu=editText1.getText().toString().intern();//获得账户
String mima=editText2.getText().toString().intern();//获得密码
Intent intent=new Intent();
intent.setClass(Second.this,MainActivity.class);
Bundle bundle=new Bundle(); //创建bundle
bundle.putString("zhanghu", zhanghu); //加入信息
bundle.putString("mima", mima);
intent.putExtras(bundle); //绑定信息
startActivity(intent); //启动Activity
Second.this.finish(); //关闭Activity
}
});
}}
问题是我的第一个页面获取不到第二个页面返回的信息,有时候,我改一下代码,整个程序就崩溃:如何给能把第二个页面的数据返回在第一个页面,高手请指点!
新的Activity上面有输入用户名和密码的TextEdit控件和一个“退出”按钮,在用户关闭这个Activty后,将用户输入的用户名和密码传递到主界面中。以下是我写的程序:
第一个页面的XML文件如下:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FF0000" >
<TextView
android:id="@+id/textView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="18dip"
android:textColor="#ffffff" /> <Button
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回" /></LinearLayout>第二个页面的XML文件如下:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="登陆我的安卓吧!"
android:textSize="30dip" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="20dip" /> <EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="numberPassword" > <requestFocus />
</EditText> </LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" > <TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码"
android:textSize="20dip"/>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" />
</LinearLayout> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="退出" />
</LinearLayout>java代码如下:package com.example.logon07111030;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity { Button button01;
TextView textView01;
protected Intent bundle;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01=(Button) findViewById(R.id.button01);
textView01=(TextView) findViewById(R.id.textView01);
button01.setOnClickListener(new OnClickListener(){ //按钮接口监听器 public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
MainActivity.this.finish();
}
});
}
public void onActivityResult(int requestCode,int resultCode,Intent date){
switch(resultCode){
case RESULT_OK:
Bundle bundle=date.getExtras();
/*String xm=editText1.getText().toString().trim(); //获得姓名 trim是取出字符前面的空格
String ah=editText2.getText().toString().trim(); //获得爱好
String tc=editText3.getText().toString().trim(); //获取特长
editText1=(EditText) findViewById(R.id.editText1); //特长
editText2=(EditText) findViewById(R.id.editText2); //爱好
editText3=(EditText) findViewById(R.id.editText3); //特长
editText1.setText(xm);
editText2.setText(ah);
editText3.setText(tc);*/
String xm=textView01.getText().toString();
textView01=(TextView) findViewById(R.id.textView1);
textView01.setText(xm);
break;
}
}
}
另一个是:package com.example.logon07111030;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;public class Second extends Activity {
Button button1;
EditText editText1,editText2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
button1=(Button) findViewById(R.id.button1);
editText1=(EditText) findViewById(R.id.editText1);
editText2=(EditText) findViewById(R.id.editText2);
button1.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub
String zhanghu=editText1.getText().toString().intern();//获得账户
String mima=editText2.getText().toString().intern();//获得密码
Intent intent=new Intent();
intent.setClass(Second.this,MainActivity.class);
Bundle bundle=new Bundle(); //创建bundle
bundle.putString("zhanghu", zhanghu); //加入信息
bundle.putString("mima", mima);
intent.putExtras(bundle); //绑定信息
startActivity(intent); //启动Activity
Second.this.finish(); //关闭Activity
}
});
}}
问题是我的第一个页面获取不到第二个页面返回的信息,有时候,我改一下代码,整个程序就崩溃:如何给能把第二个页面的数据返回在第一个页面,高手请指点!
解决方案 »
- 求助 gridview 增加 footview的问题
- android2.2 使用TrafficStats.getUidRxBytes(uid[n])获取流量返回-1,请高手指教!
- (新手求教)ListPreference 如何默认选中? 如何调用系统的清理数据?
- Android开机启动实现特定的过程
- android没有root权限,可以做哪些。
- android 地图上显示信息窗口
- 如何反序列化c# 序列化类后生成的byte[] 数组
- 有用过友推分享组件的嘛?遇到了技术问题
- 请教百度地图的一个小问题
- 实习公司没人带,怎么自我提升?
- Valid ABIs: no ABIs ABI的问题
- Android相对布局RelativeLayout问题
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
MainActivity.this.finish();
在第一个Activity中启动第二个Activity 时 用 startActivityforResult(intent,100);在第二个 结束时 setResult(101)然后放入数据 最后直接 finish()就好了;然后在 public void onActivityResult(int requestCode,int resultCode,Intent date){
if(requestCode == 100){
if(resultCode == 101){
//做想做的事.....
}
}}
有点乱希望能帮到你
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
startActivityforResult(intent,100); MainActivity.this.finish();
}
});
}
protected void startActivityforResult(Intent intent, int i) {
String xm=textView01.getText().toString();
textView01=(TextView) findViewById(R.id.textView1);
textView01.setText(xm);
}第二个改成:
button1.setOnClickListener(new OnClickListener(){ public void onClick(View v) {
// TODO Auto-generated method stub
String zhanghu=editText1.getText().toString().intern();//获得账户
String mima=editText2.getText().toString().intern();//获得密码
Intent intent=new Intent();
intent.setClass(Second.this,MainActivity.class);
Bundle bundle=new Bundle(); //创建bundle
bundle.putString("zhanghu", zhanghu); //加入信息
bundle.putString("mima", mima);
intent.putExtras(bundle); //绑定信息
startActivity(intent); //启动Activity
setResult(101);
//Second.this.finish(); //关闭Activity
finish();
}
});
}结果,运行到第二个Activity时就崩溃了!什么原因呢?
MainActivity类:Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
startActivityforResult(intent,100);
MainActivity.this.finish();
应该改为:Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivityforResult(intent,100);/code]
Second类:
[code=Java]
intent.putExtras(bundle); //绑定信息
setResult(101, intent);
finish();
有内容丢失,重新发一下:代码的写得还是有问题,应该仔细看1楼的回复
MainActivity类:
Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivity(intent);
startActivityforResult(intent,100);
MainActivity.this.finish();
应该改为:
Intent intent=new Intent();
intent.setClass(MainActivity.this, Second.class);
startActivityforResult(intent,100);Second类:
intent.putExtras(bundle); //绑定信息
startActivity(intent); //启动Activity
setResult(101);
//Second.this.finish(); //关闭Activity
finish();
应该改为:
intent.putExtras(bundle); //绑定信息
setResult(101, intent);
finish();
setResult(100, intent);
改为 startActivityForResult(intent, 0);//2个activity相互传值要用这个方法