第八单元 关于Activity的应用
这次的作业主要是实现两个activity之间的跳转及数据的传递。首先,先完成它的布局:
1)布局文件包括两个(activity_main.xml和activity_yingyong.xml),其相关代码如下:
这是activity_main.xml的代码:
<EditText
android:id="@+id/ev_xingming"
android:layout_marginTop="80dp"
android:textSize="30sp"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入姓名"/>
<Button
android:id="@+id/btn_pinggu"
android:layout_marginTop="150dp"
android:layout_width="wrap_content"
android:layout_marginLeft="30dp"
android:text="进入评估"
android:textSize="20sp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_tuichu"
android:layout_marginTop="150dp"
android:layout_marginLeft="200dp"
android:layout_width="wrap_content"
android:text="退出"
android:textSize="20sp"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv_jieguo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="220dp"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:text="评估结果"/>
</RelativeLayout>
activity_yingyong.xml的代码:
<Button
android:id="@+id/btn_you"
android:layout_marginTop="200dp"
android:layout_width="112dp"
android:layout_marginLeft="30dp"
android:text="有"
android:textSize="20sp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/btn_meiyou"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:layout_width="122dp"
android:layout_marginLeft="230dp"
android:textSize="20sp"
android:text="没有"
/>
</RelativeLayout>
2)Java的两个代码:
public class MainActivity extends AppCompatActivity {
private EditText ev_xingming;
private Button btn_pinggu;
private Button btn_tuichu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText=(EditText) findViewById(R.id.ev_xingming);
Button button = (Button) findViewById(R.id.btn_pinggu);
Button button2 = (Button) findViewById(R.id.btn_tuichu);
String data="";
Intent intent=getIntent();
String jg=intent.getStringExtra("result");
TextView jieguo=(TextView)findViewById(tv_jieguo);
data = jg;
jieguo.setText(data);
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_pinggu:
setBtn_pinggu();
break;
case tv_jieguo:
case R.id.btn_tuichu:
finish();
break;
}
}
private void setBtn_pinggu() {
Intent intent = new Intent();
intent.setClass(MainActivity.this, yingyongActivity.class);
String text =ev_xingming.getText().toString();
intent.putExtra("name",text+"同学:对学习安卓有没有信心?");
startActivity(intent);
}
}
2)
public class yingyongActivity extends AppCompatActivity {
private Button btn_you;
private Button btn_meiyou;
private EditText tv_xingming;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_yingyong);
Button button=(Button) findViewById(R.id.btn_you);
Button button1=(Button) findViewById(R.id.btn_meiyou);
String data="";
Intent intent=getIntent();
String jg=intent.getStringExtra("name");
TextView question=(TextView)findViewById(R.id.tv_jieguo);
data = jg;
question.setText(data);
}
public void onClick(View view){
switch (view.getId()){
case R.id.btn_pinggu:
hd1();
break;
case R.id.btn_tuichu:
hd2();
break;
}
}
public void hd1(){
Intent intent = new Intent(yingyongActivity.this,MainActivity.class);
String hd0 = btn_you.getText().toString();
intent.putExtra("result","对学习安卓有信心");
startActivity(intent);
finish();
}
public void hd2(){
Intent intent = new Intent(yingyongActivity.this,MainActivity.class);
String hdb = btn_meiyou.getText().toString();
intent.putExtra("result","对学习安卓没有信心");
startActivity(intent);
finish();
}
}
其中要注意的是:
1)在AndroidMainfest.xml中注册Activity
2)在切换Activity方式时用的是:
Intent intent =new Intent();
intent.setClass(MainActivity.this, yingyongActivity.class);
intent.putExtra("name",text+"同学:对学习安卓有没有信心?");
3)在两个Activity之间发送参数与接受参数的设置为--
发送:
intent.putExtra("name",text+"同学:对学习安卓有没有信心?");
接收:String jg=intent.getStringExtra("name");
主要就是这几个问题 ,完成之后功能就可以实现了。