要在RecyclerView中解析HTML,您可以使用以下步骤:
implementation 'org.jsoup:jsoup:1.14.2'
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView textView;
public MyViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.text_view);
}
public void bindData(String htmlContent) {
// 使用Jsoup解析HTML,并设置到TextView中
Document document = Jsoup.parse(htmlContent);
String plainText = document.text();
textView.setText(plainText);
}
}
public class MyAdapter extends RecyclerView.Adapter {
private List htmlList;
public MyAdapter(List htmlList) {
this.htmlList = htmlList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
String htmlContent = htmlList.get(position);
holder.bindData(htmlContent);
}
@Override
public int getItemCount() {
return htmlList.size();
}
}
public class MainActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recycler_view);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
List htmlList = new ArrayList<>();
// 将HTML内容添加到列表中
htmlList.add("This is HTML content 1
");
htmlList.add("This is HTML content 2
");
htmlList.add("This is HTML content 3
");
adapter = new MyAdapter(htmlList);
recyclerView.setAdapter(adapter);
}
}
以上代码示例使用Jsoup库来解析HTML,并将解析后的纯文本设置到ViewHolder的TextView中。您可以根据自己的需求修改ViewHolder的布局和逻辑。