Android开发

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

本文主要是介绍详谈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);
  }
}

以上这篇详谈android界面之间数据的传递就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。

这篇关于详谈android界面之间数据的传递的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!