安卓的Activity相当于是网页的各个窗体,我们经常需要在多个窗体间进行传值切换窗体,因此,这个必须要掌握。
操作步骤:
步骤一:新建一个布局文件,如:loginactivity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/futips"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/msgbox"
/>
</LinearLayout>
步骤二:修改strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">发送http请求</string>
<string name="hello_world">Hello world!</string>
<string name="toptips">测试发送Http请求</string>
<string name="action_settings">Settings</string>
<string name="baseurl">http://192.168.1.101:8090/</string>
<string name="nametips">工号或者手机号</string>
<string name="pwdtips">登录密码</string>
<string name="btntxt">登录</string>
<string name="futips">我是第二个Activity</string>
</resources>
步骤三:创建Activity类,FuActivity.java,代码如下
package com.example.httpqingqiu.Activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import com.example.httpqingqiu.R;
public class FuActivity extends Activity {
private TextView msgbox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loginactivity);
Intent it=getIntent();
Bundle bun=it.getExtras();
String userno=bun.getString("userno");
String pwd=bun.getString("pwd");
msgbox=(TextView)this.findViewById(R.id.msgbox);
msgbox.setText("您的用户名是:"+userno+",密码是:"+pwd);
}
}
步骤四:编写第一个窗体的布局文件activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
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="com.example.httpqingqiu.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/toptips" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/nametips"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtuserno"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/pwdtips"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtpwd"
android:inputType="textPassword"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnsend"
android:text="@string/btntxt"
/>
</LinearLayout>
步骤五:编写第一个窗体的后台代码
package com.example.httpqingqiu;
import com.example.httpqingqiu.Activity.FuActivity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.*;
public class MainActivity extends Activity {
private EditText txtuserno;
private EditText txtpwd;
private Button btnsend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtuserno=(EditText)this.findViewById(R.id.txtuserno);
txtpwd=(EditText)this.findViewById(R.id.txtpwd);
btnsend=(Button)this.findViewById(R.id.btnsend);
btnsend.setOnClickListener(new ButtonOnClick());
}
private class ButtonOnClick implements View.OnClickListener{
@Override
public void onClick(View v) {
String userno=txtuserno.getText().toString();
String pwd=txtpwd.getText().toString();
if(userno.trim().equals(""))
{
Toast.makeText(getApplicationContext(), "请填写工号或手机号", Toast.LENGTH_LONG).show();
return;
}
if(pwd.trim().equals(""))
{
Toast.makeText(getApplicationContext(), "请填写工号或手机号", Toast.LENGTH_LONG).show();
return;
}
Intent it=new Intent();
it.setClass(MainActivity.this, FuActivity.class);
it.putExtra("userno", userno);
it.putExtra("pwd", pwd);
startActivity(it);
//startActivityForResult(it,10);
MainActivity.this.finish();
}
}
}
步骤六:在清单文件AndroidManifest.xml中注册第二个activity
<activity
android:name="com.example.httpqingqiu.Activity.FuActivity"
android:label="@string/app_name"
>
</activity>
如果IDE提示用$代替.,千万别这样做,因为有些低版本的手机不识别