(一)商品和加購金額的計算頁面
1.可以輸入尺和筆的數量,還有勾選紙/圓規/筆記本,計算總共金額(尺:29元,筆31元,紙加購3份60元,圓規3支60元,筆記本3本60元),先做版面設計
2.設定id和定義變數
public class MainActivity extends AppCompatActivity {
    EditText x,y;
    CheckBox s1,s2,s3;
    Button cal;
    TextView ans;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        x=(EditText)findViewById(R.id.x);
        y=(EditText)findViewById(R.id.y);
        s1=(CheckBox)findViewById(R.id.s1);
        s2=(CheckBox)findViewById(R.id.s2);
        s3=(CheckBox)findViewById(R.id.s3);
        cal=(Button)findViewById(R.id.cal);
        ans=(TextView)findViewById(R.id.ans);
    }
    public void cal(View v){
       
    }
}
 
3.加入功能
public void cal(View v){
try{
int X=Integer.parseInt(x.getText().toString());
int Y=Integer.parseInt(y.getText().toString());
boolean S1=s1.isChecked();
boolean S2=s2.isChecked();
boolean S3=s3.isChecked();
int sum=29*X+31*Y;
if (S1==true){
  sum=sum+30;
}
if (S2==true){
    sum=sum+60;
}
if (S3==true){
    sum=sum+60;
}
ans.setText("總金額合計="+sum+"元");
}catch (Exception e){
    ans.setText("不可輸入空白");
}
}
**說明:
1.isChecked():boolean確定checkbox是某有被勾選,有勾選為true,沒勾選為false
2.三個為獨立的if互不影響,因為可以複選
3.輸入空白送出會出錯,因為有Exception,所以要用try...catch,雖然不知道Exeception內容,可以直接用最上層的Exception抓
 
 
(二)
1.做一個按鈕可以從主頁跳到下一頁(P2),並且切換回來
 
MainActivity.java
 
public class MainActivity extends AppCompatActivity {
    EditText x,y;
    CheckBox s1,s2,s3;
    Button cal,btnP2;
    TextView ans;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
...
        btnP2=(Button)findViewById(R.id.btnP2);
    }
    public void btnP2(View v){
        Intent in=new Intent();
        in.setClass(MainActivity.this,P2.class);
        startActivity(in);
    }
   ...
}
 
P2.java
public class P2 extends AppCompatActivity {
    Button home;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_p2);
        home=(Button)findViewById(R.id.home);
    }
    public void home(View v){
        Intent in=new Intent();
        in.setClass(P2.this,MainActivity.class);
        startActivity(in);
    }
}
 
2.設計版面,定ID,定義變數(在做radio button時,如果要單選,要先放radio group讓他們變成一個群組)
 
public class P2 extends AppCompatActivity {
    Button home,ok;
    RadioButton b1,b2,b3;
    CheckBox c1,c2,c3;
    TextView ans2;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_p2);
        home=(Button)findViewById(R.id.home);
        ok=(Button)findViewById(R.id.ok);
        b1=(RadioButton)findViewById(R.id.b1);
        b2=(RadioButton)findViewById(R.id.b2);
        b3=(RadioButton)findViewById(R.id.b3);
        c1=(CheckBox)findViewById(R.id.c1);
        c2=(CheckBox)findViewById(R.id.c2);
        c3=(CheckBox)findViewById(R.id.c3);
        ans2=(TextView)findViewById(R.id.ans2);
    }
    public void home(View v){
        Intent in=new Intent();
        in.setClass(P2.this,MainActivity.class);
        startActivity(in);
    }
 
}
 
3.撰寫程式碼
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_p2);
home=(Button)findViewById(R.id.home);
ok=(Button)findViewById(R.id.ok);
b1=(RadioButton)findViewById(R.id.b1);
b2=(RadioButton)findViewById(R.id.b2);
b3=(RadioButton)findViewById(R.id.b3);
c1=(CheckBox)findViewById(R.id.c1);
c2=(CheckBox)findViewById(R.id.c2);
c3=(CheckBox)findViewById(R.id.c3);
ans2=(TextView)findViewById(R.id.ans2);
}
public void home(View v){
Intent in=new Intent();
in.setClass(P2.this,MainActivity.class);
startActivity(in);
}
public void ok(View v){
String job="";
String interest="";
if (b1.isChecked()){
job="資訊";
}else if(b2.isChecked()){
job="教育";
}else if(b3.isChecked()){
job="金融";
}
 
//if(!(c1.isChecked())&&!(c2.isChecked())&&!(c3.isChecked()))interest=interest+"請選擇任一興趣!";
if(c1.isChecked())interest=interest+" 電影";
if(c2.isChecked())interest=interest+" 運動";
if(c3.isChecked())interest=interest+" 音樂";
ans2.setText("您的職業是:"+job+"\n您的興趣是:"+interest);
}
}
 
(三)練習把網站做成APP(參考:http://163.20.103.193/~chen06/b/standard.htm)
 
*程式參考(github):checkbox & radiobutton
*程式參考(github):網站改寫為App

 

arrow
arrow
    創作者介紹
    創作者 muchone 的頭像
    muchone

    簡單。生活。享受

    muchone 發表在 痞客邦 留言(0) 人氣()