지금까지 나는 RecyclearView의 기본 내용을 총결하였다
14453 단어 RecyclerViewAndroidJava
결말이 뭐예요?
어떻게 사용합니까?
한번 해보세요.
프로비저닝
절차.
(1) build.gradle에서 Support Library의 종속성 설명
(이번에도 카드뷰를 사용했기 때문에 이 점을 기술했다)
build.gradle
dependencies {
...
compile 'com.android.support:recyclerview-v7:23.3.0'
compile 'com.android.support:cardview-v7:23.3.0'
...
}
(2) 전체 RecyclearView의 레이아웃 정의
activity_recycler_view.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
(3) 각 행의 레이아웃 정의
row.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_margin="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp" />
</android.support.v7.widget.CardView>
(4) RecyclearView의 초기화 처리를 Activity로 기술하기
RecyclerViewActivity.java
public class RecyclerViewActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private RecyclerViewAdapter recyclerViewAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler_view);
recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
// [1]
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
// [2]
recyclerViewAdapter = new RecyclerViewAdapter(getListData());
recyclerView.setAdapter(recyclerViewAdapter);
}
private List<String> getListData() {
ArrayList<String> list = new ArrayList<>();
list.add("睦月");
list.add("如月");
list.add("弥生");
list.add("卯月");
list.add("皐月");
list.add("水無月");
list.add("文月");
list.add("葉月");
list.add("長月");
list.add("神無月");
list.add("霜月");
list.add("師走");
return list;
}
}
(5) 데이터 및 View 링크를 위한 어댑터 클래스 만들기
RecyclerViewAdapter.java
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
protected List<String> dataSet;
// [3]
public static class ViewHolder extends RecyclerView.ViewHolder {
public final TextView textView;
public ViewHolder(View v) {
super(v);
textView = (TextView) v.findViewById(R.id.text_view);
}
}
// [4]
public RecyclerViewAdapter(List<String> myDataSet) {
dataSet = myDataSet;
}
// [5]
@Override
public RecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.row, parent, false);
ViewHolder vh = new ViewHolder(v);
return vh;
}
// [6]
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String text = dataSet.get(position);
holder.textView.setText(text);
}
// [7]
@Override
public int getItemCount() {
return dataSet.size();
}
}
설명
LinerLayoutManager의 실례를 생성하고 RecyclearView의 setLayoutManager () 방법의 매개 변수로 전달합니다.Liner LayoutManager 외에도 GridLayoutManager 등의 종류가 있습니다.표시할 배치를 기준으로 변경합니다.
어댑터를 생성하고 view로 설정합니다.이번에는 어댑터를 만들 때 데이터도 맡겼어요.
RecyclerView.ViewHolder의 학급을 물려받았다.View에 대한 참조를 유지합니다.[5]의 onCreate ViewHolder () 방법을 이용하여 ViewHolder의 실례를 되돌려줍니다.
이번에 어댑터가 생성한 시간에도 데이터를 그녀에게 건네주었다.
View inflate(팽창), ViewHolder를 만들고 돌아갑니다.
ViewHolder에 데이터를 설정합니다.
RecyclearView로 표시된 항목의 수를 반환합니다.
감상
Reference
이 문제에 관하여(지금까지 나는 RecyclearView의 기본 내용을 총결하였다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ujikawa1026/items/562185be74cc4bf6f7de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)