初学android做个了很简单的应用,就是一个页面A跳转到B页面,A页面带有输入文本框和一个按钮,当输入内容后点击按钮将内容跳转到B页面来显示,虽然很简单,但是拙计的想了好几天。。。。
首先,设定下A页面的界面:
没错,就是这么挫,贼简单,贼难看。。。主要设定的代码:textView1 初始给的,就没删,buttonk1 是按钮,text1 是输入文本框ID
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/buttonk1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:text="@string/button_k1"
android:layout_marginTop="18dp" />
<EditText
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/buttonk1"
android:layout_toRightOf="@+id/textView1"
android:ems="10" >
</EditText>
接 下来写主界面的Activity,名字是MainActivity,这里的按钮点击触发时间什么的就不说了,主要就是将文本字符串用bundle打 包,intent.putExtras(bundle) 写入intent里并发送给第二个activity ( Nextpage) 里,bundle用来携带数据,putString(key, value),key值是给定的字符串,相当于叫什么名字,value就等于要传的值;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button)
this.findViewById(R.id.buttonk1);
button.setOnClickListener(new
OnClickListener());
}
private final class OnClickListener
implements View.OnClickListener{
@Override
public void onClick(View v) {
EditText text = (EditText)
findViewById(R.id.text1);
String txt =
text.getText().toString();
Intent intent = new Intent();
intent.setClass(MainActivity.this,
Nextpage.class);
Bundle bundle = new Bundle();
bundle.putString("text",txt);
intent.putExtras(bundle);
startActivity(intent);
}
}
根据这个写入第二个activity,Nextpage.java:先用getIntent 得到intent,再用getExtras 得到Intent 的附加数据(就是加入的bundle),
创建一个TextView控件 a1,将text2强制转换成这个类型(text2定义于第二个页面的TextView的id), a1.setText(bundle.getString("text")) 相当于把bundle的值赋值给了a1;
根据这个写入第二个activity,Nextpage.java:先用getIntent 得到intent,再用getExtras 得到Intent 的附加数据(就是加入的bundle),
创建一个TextView控件 a1,将text2强制转换成这个类型(text2定义于第二个页面的TextView的id), a1.setText(bundle.getString("text")) 相当于把bundle的值赋值给了a1;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nextpage);
Bundle bundle =
this.getIntent().getExtras();
TextView a1 = (TextView)
findViewById(R.id.text2);
a1.setText(bundle.getString("text")); 然后写入第二个界面的界面设定,主要代码是:其中text2 是上面定义控件的id
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
androidmanifest.xml的配置文档别忘了配下,最后发布下程序依然这么挫,第一个应用终于搞定了~~