上一篇完成了查询活动,本篇将继续完成过渡部分和飞花令游戏。
活动之间的参数传递
在两个Activity之间传递数据,最终都是通过Intent传递,但设置数据和保存数据方式有两种(使用Intent 和 Bundle),分别对应如下:
设置数据(MainActivity.java)
方法一:1.直接用intent.putExtra(“name”,“Nicole”)
Intent intent = new Intent(MainActivity.this,OtherActivity.class);
intent.putExtra("name", "Nicole");
intent.putExtra("age", 25);
intent.putExtra("address", "Shenzhen");
方法二:2.用bundle.putString(“name”,“Nicole”) ;
Intent intent = new Intent(MainActivity.this,OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putString("name", "Ben");
bundle.putInt("age", 28);
bundle.putString("address", "China");
intent.putExtras(bundle); //将bundle传入intent中。
读取数据 (OtherActivty.java)
方法一:直接用Intent , String nameString = intent.getStringExtra(“name”);
Intent intent = getIntent();
String nameString = intent.getStringExtra("name");
int age = intent.getIntExtra("age");
String addressString = intent.getStringExtra("address");
方法二:用bundle , String nameString = bundle.getString(“name”);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String nameString = bundle.getString("name");
int age = bundle.getInt("age");
String addressString = bundle.getString("address");
为活动一中的开始键设置监听,点击后传参并开始活动二
public void onClick(View view) {
EditText key= findViewById(R.id.id_key);
Intent intent = new Intent(MainActivity.this,MainActivity2.class);
System.out.println(key.getText().toString());
Bundle bundle = new Bundle();
bundle.putString("data",key.getText().toString());
intent.putExtras(bundle);
startActivity(intent);
}
飞花令游戏的UI界面
其实飞花令的UI和简单的聊天界面很类似,有很多共通的地方
在activity_main2.xml里添加EditText,Button,ListView控件:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/msg_list_view"
android:layout_height="30dp"
android:layout_width="match_parent"
android:layout_weight="1"
android:divider="#0000"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_text"
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:hint="输入含关键词的诗句"
android:maxLines="2"/>
<Button
android:id="@+id/send"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="发送"/>
</LinearLayout>
</LinearLayout>
基础界面:底部有输入框和发送按钮
接下来往ListView里加东西,新建msg_item.xml:
<LinearLayout
android:id="@+id/left_layout"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="left"
>
<TextView
android:id="@