android RecyclerView的做法
想做表單可以使用gridview或是listview
或是新的RecyclerView。
可以直接在MainActivity新增要使用的adapter class
RecyclerView需要三個東西
自定義一個放資料的class
Adapter和Adapter中的ViewHolder
1.
adapter裡面再新增一個view holder,
要實作方法的時候可以在底部有紅線的地方,
使用alt+insert看需要哪些方法。
之後寫一個提供資料的class
2.
3.
或是新的RecyclerView。
可以直接在MainActivity新增要使用的adapter class
RecyclerView需要三個東西
自定義一個放資料的class
Adapter和Adapter中的ViewHolder
1.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder>{ | |
@NonNull | |
@Override | |
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { | |
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.my_list,viewGroup,false); | |
return new MyHolder(view); | |
} | |
@Override | |
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) { | |
myHolder.icon.setImageResource(myData.get(i).getResource()); | |
myHolder.name.setText(myData.get(i).getName()); | |
} | |
@Override | |
public int getItemCount() { | |
return myData.size(); | |
} | |
public class MyHolder extends RecyclerView.ViewHolder{ | |
ImageView icon; | |
TextView name; | |
public MyHolder(@NonNull View itemView) { | |
super(itemView); | |
icon = itemView.findViewById(R.id.icon); | |
name = itemView.findViewById(R.id.text); | |
} | |
} | |
} |
要實作方法的時候可以在底部有紅線的地方,
使用alt+insert看需要哪些方法。
之後寫一個提供資料的class
2.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MyData{ | |
int resource; | |
String name; | |
public MyData(int resource, String name) { | |
this.resource = resource; | |
this.name = name; | |
} | |
public int getResource() { | |
return resource; | |
} | |
public void setResource(int resource) { | |
this.resource = resource; | |
} | |
public void setName(String name) { | |
this.name = name; | |
} | |
public String getName() { | |
return name; | |
} | |
} |
3.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
myData = new ArrayList<>(); | |
myData.add(new MyData(R.drawable.cd_example,"123")); | |
myData.add(new MyData(R.drawable.cd_example,"123")); | |
RecyclerView rv = findViewById(R.id.rv); | |
rv.setHasFixedSize(true); | |
rv.setLayoutManager(new GridLayoutManager(this,4)); | |
MyAdapter adapter = new MyAdapter(); | |
rv.setAdapter(adapter); |
留言
張貼留言