时间:2022-03-24 11:34:47 | 栏目:Android代码 | 点击:次
不同界面之间,数据的传递是很常用的一个操作,这种数据的携带也是很简单的。
效果:
跳转后:
这个例子很简单,但是我们把第一个界面输入的姓名张三顺利传递到了第二个界面
附代码如下:
主界面:
package com.yy.activity.value; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_name; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name=(EditText) findViewById(R.id.et_name); } public void click(View view){ //获取文本框输入的姓名 String name=et_name.getText().toString().trim(); if (TextUtils.isEmpty(name)) { Toast.makeText(this, "请输入姓名", Toast.LENGTH_LONG).show(); return; } //意图 Intent intent=new Intent(); //在同一个应用,因此我们使用显式意图 intent.setClassName(this, "com.yy.activity.value.ResultActivity"); //携带字符串数据,注意:八大基本数据类型都可以携带 intent.putExtra("name", name); //激活界面 startActivity(intent); } }
结果界面:
package com.yy.activity.value; import java.util.Random; import android.app.Activity; import android.os.Bundle; import android.widget.ProgressBar; import android.widget.TextView; public class ResultActivity extends Activity { private TextView tv_rp; private ProgressBar pb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); tv_rp=(TextView) findViewById(R.id.tv_rp); pb=(ProgressBar) findViewById(R.id.pb); //获取传递过来的姓名 String name=getIntent().getStringExtra("name"); //随机产生人品 int rp=new Random().nextInt(101); tv_rp.setText(name+":"+rp); //设置进度条 pb.setProgress(rp); } }