怎样从外部给适配器里传值,在适配器里得到这个值进行判断
时间: 2024-05-15 07:17:26 浏览: 10
在适配器中,可以通过构造函数或setter方法传递值。例如,在构造函数中:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public MyAdapter(List<String> data) {
mData = data;
}
// ...
}
```
或者在setter方法中:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public void setData(List<String> data) {
mData = data;
notifyDataSetChanged();
}
// ...
}
```
然后,在外部创建适配器对象时,可以传递相应的参数:
```java
List<String> data = getDataFromExternalSource();
MyAdapter adapter = new MyAdapter(data);
recyclerView.setAdapter(adapter);
```
或者调用相应的setter方法:
```java
MyAdapter adapter = new MyAdapter();
recyclerView.setAdapter(adapter);
List<String> data = getDataFromExternalSource();
adapter.setData(data);
```
在适配器中,可以使用传递进来的数据进行判断和处理。例如,在`onBindViewHolder`方法中:
```java
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
String item = mData.get(position);
if (item != null && !item.isEmpty()) {
holder.textView.setText(item);
} else {
holder.textView.setText("No data");
}
}
```