[Bottom UP] 조건대로 화면 전환 처리하기/안내문 처리

2019. 7. 24. 16:53

학점을 입력하게끔 되어있는 란은 EditText로 여기서 입력되는 정보를 입력받아서 쉐어프리퍼런스로 String으로 저장하고, 이 정보가 입력 의도와 맞는지 확인한 뒤 다음 화면으로 넘겨주어야 했다.

 

예를들어 최소학점은 2, 최대 학점은 21로 제한되어있으므로

조건을 충족시키지 않는다면 경고문을 띄우고, 

조건을 충족시킨다면 다음 화면으로 넘어가야 한다.

 

이러한 알고리즘으로 조건문을 짜서 처리를 했다. 처리한 코드는 아래와 같다.

전체코드를 먼저 첨부하겠다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.example.applicateclass;
 
import android.content.Context;
import android.content.SharedPreferences;
 
 
 
public class HowMuchActivity extends AppCompatActivity {
    public final String PREFERENCE = "com.example.applicateclass"//저장, 불러오기 위한
    public String write_score = "write_score";
    private Context context;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_howmuch);
 
        //Write down score
        final EditText write = (EditText) findViewById(R.id.howmuch_writescore);
 
        //next icon Button
        ImageView Next = (ImageView) findViewById(R.id.howmuch_nextbtn);
        Next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //입력 값 체크
                if(write.getText().toString().length() != 0){ //공백이 아닐 때
                    String score = write.getText().toString();
                    if(Integer.parseInt(score) > 21){ //21학점 이상은 불가
                        //경고 알림창 띄우기
                        Toast.makeText(HowMuchActivity.this"21학점이 최대 학점입니다.\n21학점 이하로 입력해주세요.", Toast.LENGTH_SHORT).show();
                    } else if(Integer.parseInt(score) < 2){ //2학점 이하는 불가
                        //경고 알림창 띄우기
                        Toast.makeText(HowMuchActivity.this"2학점이 최소 학점입니다.\n2학점 이상으로 입력해주세요.", Toast.LENGTH_SHORT).show();
                    } else {
                        setPreference(write_score, Integer.parseInt(score));//정보 받기
                        Intent intent = new Intent(
                                getApplicationContext(),
                                SelectTimeSetActivity.class);
                        startActivity(intent);
                        overridePendingTransition(00);
                    }
                } else { //공백일때
                    Toast.makeText(HowMuchActivity.this"입력란에 원하는 학점을 입력해주세요.", Toast.LENGTH_SHORT).show();
                }
 
 
            }
        });
    }
 
    public void setPreference(String key, int value){ //학점 점수 저장(int)
        SharedPreferences pref = getSharedPreferences(PREFERENCE, MODE_PRIVATE);
        editor.commit();
    }
 
    @Override
    public void onBackPressed() { //화면에서 뒤로가기를 눌렀을 때 변수 초기화
        write_score = "write_score";
        super.onBackPressed();
        overridePendingTransition(00);
    }
}
 
 

여기서 주요 코드를 보자.

 

1. 공백 값 체크

if(write.getText().toString().length() != 0){ 

공백이 아니면 처리할 코드를 작성한다. 길이가 0이 아님을 체크해서 값이 입력 되었는지 안되었는지를 판단한다.

 

2. 알림 조그맣게 뜨우기(작은 화면푸시알림)

Toast.makeText(HowMuchActivity.this, "2학점이 최소 학점입니다.\n2학점 이상으로 입력해주세요.", Toast.LENGTH_SHORT).show();

위와같이 Toast를 이용해서 사용한다.

'Undergraduate Records' 카테고리의 다른 글

5회차 모각코 목표  (0) 2019.07.31
4회차 모각코 결과  (0) 2019.07.24
4회차 모각코 목표  (0) 2019.07.24
[Bottom UP] 2019.07.23 현재 최종 진행상황  (0) 2019.07.23
[Bottom UP] 아이콘 삽입하기  (0) 2019.07.23

BELATED ARTICLES

more