第8天~

上偏加入字串空的

String all ="";

这里多了餐选的,饮料选的,全部选的

String mealString,drinkString,all ="";

现在长这样~

package com.huang.myapplication8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    //宣告变数
    EditText uName,uPhone,uNum;
    TextView uPrice;
    RadioGroup uMeal,uDrink;
    RadioButton m1,m2,m3,m4,d1,d2,d3;
    CheckBox memo1,memo2,memo3;

    String mealString,drinkString,all ="";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void onClick(View view) {
    }
}

开始做初始化-findViewById

https://ithelp.ithome.com.tw/upload/images/20220131/20119035lrqwFzrH2s.png

package com.huang.myapplication8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    //宣告变数
    EditText uName,uPhone,uNum;
    TextView uPrice;
    RadioGroup uMeal,uDrink;
    RadioButton m1,m2,m3,m4,d1,d2,d3;
    CheckBox memo1,memo2,memo3;

    String mealString,drinkString,all ="";

    //初始化

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        uName =findViewById(R.id.uName);
        uPhone =findViewById(R.id.uPhone);
        uNum =findViewById(R.id.uNum);
        uPrice =findViewById(R.id.uPrice);

        //uMeal


    }

    public void onClick(View view) {
    }
}

https://ithelp.ithome.com.tw/upload/images/20220131/20119035oAmHlpIJF4.png

//uMealt初始化

uMeal=findViewById(R.id.uMeal);

https://ithelp.ithome.com.tw/upload/images/20220131/20119035kHwvtFEKPW.png

加工能-侦测是否有改变setOnCheckedChangeListener-()里面是物件

https://ithelp.ithome.com.tw/upload/images/20220131/20119035a3AzSKitZU.png

新增RadioGroup专用-单选

https://ithelp.ithome.com.tw/upload/images/20220131/201190358WUGALs6Oh.png

这里看看-(RadioGroup radioGroup, int i)改成(RadioGroup group, int checkedId)会怎样

//uMeal
        uMeal=findViewById(R.id.uMeal);
        uMeal.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                mealString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();

rb在这里是准备操作的临时变数-

再来看mealString是点到谁-->然後转成字串

用toast测试.最後注解掉:
https://ithelp.ithome.com.tw/upload/images/20220131/20119035PWWJ6kna3j.png

package com.huang.myapplication8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //宣告变数
    EditText uName,uPhone,uNum;
    TextView uPrice;
    RadioGroup uMeal,uDrink;
    RadioButton m1,m2,m3,m4,d1,d2,d3;
    CheckBox memo1,memo2,memo3;

    String mealString,drinkString,all ="";

    //初始化

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        uName =findViewById(R.id.uName);
        uPhone =findViewById(R.id.uPhone);
        uNum =findViewById(R.id.uNum);
        uPrice =findViewById(R.id.uPrice);

        //uMeal
        uMeal=findViewById(R.id.uMeal);
        uMeal.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                mealString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();


            }
        });



    }

    public void onClick(View view) {
    }
}

toast要用手机测试:
https://ithelp.ithome.com.tw/upload/images/20220131/2011903550C3hs1fga.jpg


这里来写uDrink要注意}

//uDrink
        uDrink=findViewById(R.id.uDrink);
        uDrink.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                drinkString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();

            }
        });

再来写checkBox-初始化
https://ithelp.ithome.com.tw/upload/images/20220131/20119035KJWh5KFmNI.png

https://ithelp.ithome.com.tw/upload/images/20220131/20119035gpk7489ov3.png

package com.huang.myapplication8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //宣告变数
    EditText uName,uPhone,uNum;
    TextView uPrice;
    RadioGroup uMeal,uDrink;
    RadioButton m1,m2,m3,m4,d1,d2,d3;
    CheckBox memo1,memo2,memo3;

    String mealString,drinkString,all ="";

    //初始化

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        uName =findViewById(R.id.uName);
        uPhone =findViewById(R.id.uPhone);
        uNum =findViewById(R.id.uNum);
        uPrice =findViewById(R.id.uPrice);

        //uMeal
        uMeal=findViewById(R.id.uMeal);
        uMeal.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                mealString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();


            }
        });

        //uDrink
        uDrink=findViewById(R.id.uDrink);
        uDrink.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                drinkString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();

            }
        });

        //checkBox
        memo1 =findViewById(R.id.memo1);
        memo2 =findViewById(R.id.memo2);
        memo3 =findViewById(R.id.memo3);

        

    }

    public void onClick(View view) {
    }
}

利用按钮整合起来-收集资料并送到下一页-一个一个字串string收集到下一页

1-撰写Andorid的时候,有时程序的功能会需要取得Button、TextView、EditText等等元件的内容,一般会认为getText()这个方法所回传的类型是String,但是情况却不是这样,需要加上toString()的方法强制转型为String

2-num数字栏位计算.但是如果是要字串转数字就要用Integer.parseInt

public void onClick(View view) {
        //文字栏位的收集
        String name = uName.getText().toString();
        String phone = uPhone.getText().toString();
        int num = Integer.parseInt(uNum.getText().toString());

        
    }

再来是checkBox-用阵列选取一下
用for each的写法
https://lakesd6531.pixnet.net/blog/post/342603565-java-for-each%E8%BF%B4%E5%9C%88%E7%9A%84%E7%94%A8%E6%B3%95

i依序取出R.id.memo1,R.id.memo2,R.id.memo3

字串空的=全部选的

String all ="";

https://ithelp.ithome.com.tw/upload/images/20220131/201190359s0ReTII2H.png

package com.huang.myapplication8;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    //宣告变数
    EditText uName,uPhone,uNum;
    TextView uPrice;
    RadioGroup uMeal,uDrink;
    RadioButton m1,m2,m3,m4,d1,d2,d3;
    CheckBox memo1,memo2,memo3;

    String mealString,drinkString,all ="";

    //初始化

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        uName =findViewById(R.id.uName);
        uPhone =findViewById(R.id.uPhone);
        uNum =findViewById(R.id.uNum);
        uPrice =findViewById(R.id.uPrice);

        //uMeal
        uMeal=findViewById(R.id.uMeal);
        uMeal.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                mealString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();


            }
        });

        //uDrink
        uDrink=findViewById(R.id.uDrink);
        uDrink.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton rb =findViewById(checkedId);
                drinkString = rb.getText().toString();
                Toast.makeText(MainActivity.this,mealString,Toast.LENGTH_SHORT).show();

            }
        });

        //checkBox
        memo1 =findViewById(R.id.memo1);
        memo2 =findViewById(R.id.memo2);
        memo3 =findViewById(R.id.memo3);



    }

    //收集资料并送到下一页

    public void onClick(View view) {
        //文字栏位的收集
        String name = uName.getText().toString();
        String phone = uPhone.getText().toString();
        int num = Integer.parseInt(uNum.getText().toString());

        //checkBox
        int[] cbs ={R.id.memo1,R.id.memo2,R.id.memo3};
        for(int i:cbs){
            CheckBox cc =findViewById(i);
            if(cc.isChecked()){
                all += cc.getText().toString()+"\t";
            }
        }

    }
}



xml+java档就是activity就是活动画面

再来是送到第2页:Intent意图 from->page2

https://ithelp.ithome.com.tw/upload/images/20220131/20119035p0jeLgHwSo.png

按app-->java--mainActivity第2页的建立开始很像开新档:要V--layout file

https://ithelp.ithome.com.tw/upload/images/20220131/20119035nVbGuqZAGG.png

等他初始化完成-java档和layout档案个多一个
https://ithelp.ithome.com.tw/upload/images/20220131/20119035FPf68cSYdZ.png

看到manifests-设定权限要求(打开相机之类的)-活动画面的清册

https://ithelp.ithome.com.tw/upload/images/20220131/201190354NaOtKFU10.png

里面显示一个APP可以看到多少页面

https://ithelp.ithome.com.tw/upload/images/20220131/20119035gllNnFuiPT.png

<intent-filter的功能是:

1-指定-页面
2-条件action

MAIN是指主要开始

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

继续从 送到第2页

https://ithelp.ithome.com.tw/upload/images/20220131/20119035PJIfPTYCZG.png

//送到第2页
        Intent it = new Intent();//送货员
        it.setClass(MainActivity.this,Page2.class);//送到哪里去
        startActivity(it);//出发了

目前手动回到上一页~


<<:  Dungeon Mizarka 011

>>:  [Java Day12] 3.6. break & continue

第九天:建立练习专案

接下来我们建立後续章节要使用的练习专案,我预想了一个「购物车及运费计算机」做为情境,整个流程会示范如...

Day1 什麽是机器学习?

机器学习的定义 机器学习是人工智慧的一个分支。 透过以往资料的学习,找到资料的特徵规则後,建立数学统...

第三十课:毕业成果报告

成果 由於在发文到一半的时候,电脑曾因为显卡坏掉而重灌过电脑,对我以为我有全部备份到,但我後来发现完...

Leetcode: 104. Maximum Depth of Binary Tree

找树的高度 思路 这题是图上给你指定的点,让你找出最远的那个node离你多远,用Traversal找...

ASP.NET MVC 从入门到放弃(Day13) -C# HttpClient 泛型功能介绍

接着来讲讲泛型的部分.... 简单来说泛型就是传入值、传回值不固定的情况下这时候就可以使用泛型......