마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java.lang.NullPointerException 오류코드 질문입니다 ㅠㅠ도와주세요!

0 추천
public class lockcheck extends AppCompatActivity {
    EditText check_ed;
    Button btncheck;

    protected void onCreate(final Bundle saveInstaceStace) {
        check_ed = (EditText) findViewById(R.id.check_ed);
        btncheck = (Button) findViewById(R.id.btncheck);

        super.onCreate(saveInstaceStace);
        setContentView(R.layout.lockcheck);
        String passwd = check_ed.getText().toString(); //사용자가 입력하는 비밀번호
        try {
            FileInputStream inFs = openFileInput("lock.txt");
            byte[] txt = new byte[30];
            inFs.read(txt);
            String str = new String(txt);
            inFs.close();

            if (str == passwd) { //내부메모리에저장값 = 사용자가입력한값
                btncheck.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent it = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(it);
                        finish();
                    }
                });
            }
        } catch (IOException e) {
            Toast.makeText(getApplicationContext(), "파일없음", Toast.LENGTH_SHORT).show();
        }


    }
}
아래는 로그캣인데 
String passwd = check_ed.getText().toString();이부분이 자꾸 오류라고하네요 ㅠㅠ
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
                                                                             at kr.ac.ansan.myapplication.lockcheck.onCreate(lockcheck.java:27)
 
 
구현하려고하는것은 다른액티비티에서 내부메모리에 txt파일을저장후에 이액티비티에서 불러오려는것입니다 그리고 그 내부메모리에저장된파일과 새로만든 EditText입력값이 일치할경우 메인액티비티를 실행시키는 잠금화면을 만들려고하는데 실행조차되질않네요 내부메모리에 저장된건 토스트로 띄우면 잘나옵니다
익명사용자 님이 2018년 11월 28일 질문

2개의 답변

0 추천
edit 텍스를 가져오는 findviewbyid 가 레이이아웃을 세팅하기 전에 가져오기때문에 값이 없는겁니다.
산적 (1,360 포인트) 님이 2018년 11월 28일 답변
0 추천
차라리 onclick메소드 안에 넣으셔서 이벤트 발생시 처리하게끔 해주는게 더 좋을거 같네요
너무먼개발자 (1,300 포인트) 님이 2018년 11월 28일 답변
...