当前位置:主页 > 移动开发 > Android代码 >

详谈android界面之间数据的传递

时间: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);
  }
}

您可能感兴趣的文章:

相关文章