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(); // 데이터가 변했음을 알려줌!!
}
}
안드로이드 스튜디오에서 전역변수는 선언 시 값을 넣으면 안 된다.
저 때 시스템에는 해당 뷰가 없기 때문.
'개발툴 > Android Studio' 카테고리의 다른 글
[안드로이드 스튜디오] 새 창 열기, 새 창 닫기 (0) | 2019.10.15 |
---|---|
[안드로이드 스튜디오] 현재 프로젝트에서 쓰고 있는 DB 데이터 확인하기 (0) | 2019.10.15 |
[안드로이드 스튜디오] 아스키코드(ASCII) 오류 (0) | 2019.10.07 |
[Android Studio] Log로 확인하는 액티비티의 수명주기 (0) | 2019.10.01 |
[안드로이드 스튜디오] 전화걸기 및 레이아웃 간 변수 전달 (0) | 2019.10.01 |
댓글