可在直接上次以第三种实现SayHello的基础上进行复制并编辑
本次目标效果
1、复制项目SayHello命名为HelloProperty
2、更改actiity_main.xml为
<span style="font-size:18px;"><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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/bg"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tvNamePrompt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="130dp"
android:textSize="25sp"
android:text="@string/tvNamePrompt">
</TextView>
<EditText
android:id="@+id/etName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvNamePrompt"
android:layout_below="@+id/tvNamePrompt"
android:layout_marginTop="25dp"
<strong> android:background="@android:drawable/edit_text"</strong>
android:ems="8" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/etName"
android:layout_below="@+id/etName"
android:layout_marginRight="46dp"
android:layout_marginTop="22dp"
android:text="@string/btnClick"
android:onClick="SaysHello" />
</RelativeLayout></span>
3、MainActivity.java
public class MainActivity extends Activity {
private EditText etName;
private static final String TAG="MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etName=(EditText) findViewById(R.id.etName);
}
public void SaysHello(View v){
String name=etName.getText().toString();
Intent intent=new Intent();//构建意图
intent.setClass(this,ShowActivity.class);//设置想要跳转到的类
intent.putExtra("name", name);//数据单个传递方式
startActivity(intent);//将意图传过去启动Activity
}
}
4、ShowActivity.java
public class ShowActivity extends Activity {
private String name;
private TextView tvShow;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
getData();//定义一个私有方法获取数据
initViews();//组件的获取
bindData();//绑定控件
}
private void bindData() {//tvShow和数据的绑定
// TODO Auto-generated method stub
tvShow.setText("你好"+name);
}
private void initViews() {
// TODO Auto-generated method stub
tvShow=(TextView) findViewById(R.id.tvShow);
}
private void getData() {
// TODO Auto-generated method stub
name=getIntent().getStringExtra("name");
}
}
5、activity_show.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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@android:color/holo_blue_light"
tools:context=".ShowActivity" >
<TextView
android:id="@+id/tvShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="190dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
7、不要忘记在AndroidManifest.xml中声明ShowActivity
<activity
android:name=".ShowActivity"
android:label="@string/title_activity_show" >
</activity>
8、数据的传递包括批量传递和单个传递,此处使用的是单个传递
9、此为显式意图