개발툴/Android Studio
[안드로이드 스튜디오] MainActivity에서 전역변수 선언 시 오류
펜네임
2019. 10. 7. 16:22
package com.example.recyclerview440p;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
MemberAdapter adapter;
EditText et_name; // 얘네가 값을 갖고 있으면 안 된다!! findViewById는 onCreate 후에!
EditText et_birth;
EditText et_phone;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(layoutManager);
adapter = new MemberAdapter();
adapter.addItem(new Member("이혜민", "1993-16-99", "010-1111-8888"));
adapter.addItem(new Member("이혜민2", "1993-16-99", "010-1111-8888"));
adapter.addItem(new Member("이혜민3", "1993-16-99", "010-1111-8888"));
recyclerView.setAdapter(adapter);
et_name = findViewById(R.id.et_name);
et_birth = findViewById(R.id.et_birth);
et_phone = findViewById(R.id.et_phone);
Button btn_add = findViewById(R.id.btn_add);
btn_add.setOnClickListener(this);
}
@Override
public void onClick(View v) {
adapter = new MemberAdapter();
String name = String.valueOf(et_name.getText());
String birth = String.valueOf(et_birth.getText());
String phone = String.valueOf(et_phone.getText());
adapter.addItem(new Member(name, birth, phone));
adapter.notifyDataSetChanged(); // 데이터가 변했음을 알려줌!!
}
}
안드로이드 스튜디오에서 전역변수는 선언 시 값을 넣으면 안 된다.
저 때 시스템에는 해당 뷰가 없기 때문.