使用BaseAdapter适配器为ListView绑定数据,列出国内一些著名网站名及网址信息。 效果如下图所示:
时间: 2024-09-19 14:07:37 浏览: 40
在国内,我们经常使用`BaseAdapter`配合`ListView`来展示各种数据,例如列举一些著名的网站及其链接。这里是一个简单的示例,假设我们有一个网站列表,包含名称如"百度"(www.baidu.com)、"腾讯"(www.qq.com)等:
```java
import java.util.ArrayList;
import java.util.List;
// 假设我们有一个网站实体类Website
public class Website {
private String name;
private String url;
// 构造函数、getter/setter省略
public Website(String name, String url) {
this.name = name;
this.url = url;
}
@Override
public String toString() {
return "Name: " + name + ", URL: " + url;
}
}
// 创建一个用于存储网站的数据集合
List<Website> websites = new ArrayList<>();
websites.add(new Website("百度", "http://www.baidu.com"));
websites.add(new Website("腾讯", "http://www.qq.com"));
// 可以添加更多网站...
// 定义一个自定义的BaseAdapter子类
class CustomListAdapter extends BaseAdapter {
private Context context;
private List<Website> websiteList;
public CustomListAdapter(Context context, List<Website> websiteList) {
this.context = context;
this.websiteList = websiteList;
}
@Override
public int getCount() {
return websiteList.size();
}
@Override
public Website getItem(int position) {
return websiteList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.list_item_website, parent, false);
}
Website currentWebsite = getItem(position);
TextView nameTextView = convertView.findViewById(R.id.name_text_view);
TextView urlTextView = convertView.findViewById(R.id.url_text_view);
nameTextView.setText(currentWebsite.getName());
urlTextView.setText(currentWebsite.getUrl());
return convertView;
}
}
// 使用时,在适当的Activity或Fragment中
CustomListAdapter adapter = new CustomListAdapter(this, websites);
yourListView.setAdapter(adapter);
```
在这个例子中,`list_item_website.xml`是一个适配布局文件,其中包含了显示名称和URL的视图组件。当用户滚动ListView时,会动态地显示每个网站的信息。
阅读全文