Kotlin メモ : ArrayAdapter
Java
- class MyAdapter extends ArrayAdapter<MyData> {
-
- private final LayoutInflater inflater;
-
- MyAdapter(Context context, List<MyData> objects) {
- super(context, 0, objects);
- inflater = LayoutInflater.from(context);
- }
-
- ...
-
- @NonNull
- @Override
- public View getView(int position, View convertView, @NonNull ViewGroup parent) {
- final MyViewHolder holder;
- if (convertView == null) {
- holder = MyViewHolder.create(inflater, parent);
- convertView = holder.view;
- convertView.setTag(holder);
- } else {
- holder = (MyViewHolder) convertView.getTag();
- }
-
- final MyData data = getItem(position);
- assert data != null;
-
- holder.bind(data);
-
- return convertView;
- }
- }
class MyAdapter extends ArrayAdapter<MyData> {
private final LayoutInflater inflater;
MyAdapter(Context context, List<MyData> objects) {
super(context, 0, objects);
inflater = LayoutInflater.from(context);
}
...
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
final MyViewHolder holder;
if (convertView == null) {
holder = MyViewHolder.create(inflater, parent);
convertView = holder.view;
convertView.setTag(holder);
} else {
holder = (MyViewHolder) convertView.getTag();
}
final MyData data = getItem(position);
assert data != null;
holder.bind(data);
return convertView;
}
}
Kotlin
- class MyAdapter(context: Context, objects: List<MyData>) : ArrayAdapter<MyData>(context, 0, objects) {
-
- private val inflater = LayoutInflater.from(context)
-
- ...
-
- override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
- val view: View = convertView ?: MyViewHolder.create(inflater, parent)
- .also { it.view.tag = it }
- .view
- getItem(position)?.let {
- (view.tag as MyViewHolder).bind(it)
- }
- return view
- }
- }
class MyAdapter(context: Context, objects: List<MyData>) : ArrayAdapter<MyData>(context, 0, objects) {
private val inflater = LayoutInflater.from(context)
...
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
val view: View = convertView ?: MyViewHolder.create(inflater, parent)
.also { it.view.tag = it }
.view
getItem(position)?.let {
(view.tag as MyViewHolder).bind(it)
}
return view
}
}
0 件のコメント:
コメントを投稿