Intent携带数据进行界面跳转的两种情况:一:点击按钮 ;二:点击ListView

一:点击按钮进行携带数据进行界面的跳转

 我先在主界面中布局文件中新建了两个EditText输入框和一个按钮;一个是账号输入框,一个密码输入框,按钮是注册按钮也就是界面跳转按钮;

在跳转界面的代码和主界面的布局文件一样,就是id不同
下面是主界面布局文件代码:


下面是跳转界面的代码


3,下面是主界面的Java代码

注意这里写的代码都是在按你的监听器里写的

    Button btn1 = findViewById(R.id.T_submit);
    btn1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //获取账号
        String T_zhangaho= ((EditText)findViewById(R.id.T_zhanghao)).getText().toString();  //这里因为前后的数据类型不一样所以需要进行类型的转换
        //获取密码
        String T_mima = ((EditText)findViewById(R.id.T_mima)).getText().toString();
        //进行跳转语句
        Intent intent  = new Intent(MainActivity.this,Main2Activity.class);
        //创建一个并实例化一个Bundle对象;
        Bundle bundle = new Bundle();
        bundle.putCharSequence("ZH",T_zhangaho);
        bundle.putCharSequence("MM",T_mima);
        //将Bundle对象添加到Intent对象中
        intent.putExtras(bundle);
        startActivity(intent);
    }
});

}
4,跳转界面写的代码

//获取Intent 对象
Intent intent = getIntent();

Bundle bundle = intent.getExtras(); //获取传递的Bundle信息

EditText zhanghao = (EditText) findViewById(R.id.Y_zhanghao); //获取显示账号的输入框
zhanghao.setText(bundle.getString(“ZH”)); //将获取到的账号显示在输入框中

EditText mima =(EditText) findViewById(R.id.Y_mima);
mima.setText(bundle.getString(“MM”));
5,实现效果
主界面的在这里插入图片描述
在这里插入图片描述

二:ListView点击

他们量中情况用到的方法完全不一样,但是布局文件中的是大同小异
但是相比较而言这个方法比按钮点击简单一些
这里我就简单的介绍关键的步骤代码:

##1,Main3_rij界面的代码:

    Q_querry = findViewById(R.id.Q_querry);  //这个是一个查询按钮 ,你也可以自动刷新
    Q_list = findViewById(R.id.Q_list);    //这个是list 中的item

Q_querry.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

    Q_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {    //其实你记住这个方法,当然最好是理解onItemClick方法
            String T_riji = ((TextView)view.findViewById(R.id.L_riji1)).getText().toString();
            String T_date = ((TextView)view.findViewById(R.id.L_riji2)).getText().toString();
            Intent intent = new Intent(Main3_riji.this,Main5_Lyout.class);  //它从main3_riji跳转到界面main5-lyout
            intent.putExtra("P",T_riji);
            intent.putExtra("P2",T_date);
            startActivity(intent);
        }
    });
}

2,Main5_Lyout的代码

 Ly_riji = findViewById(R.id.Y_riji);
    Ly_time  = findViewById(R.id.Y_time);
    
  final Intent intent = getIntent();
      String Ly_riji2 = intent.getStringExtra("P");  //获取到界面3中intent中的值
    String Ly_time2 = intent.getStringExtra("P2");
    Ly_riji.setText(Ly_riji2);  //这里把获取的的的数据显示在Ly_riji 这个文本框中
    Ly_time.setText(Ly_time2);

3,效果图

这里我点击第二个item这里我点击第二个item
当我点击第二个之后,系统就会把它这个item中的数据传递带到第二个界面中在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45760909/article/details/103973402