0

我需要一点帮助来了解如何将我当前的实现更改ViewFlow为 android v4.ViewPager。到目前为止,我一直在ArayLists<?>用数据填充我的视图。现在我需要使用与我相同的方式(如果可能的话)并使用 Android SDK 中的 ViewPager。任何建议都可以很好地了解它的工作原理,因为我在互联网上找到的示例正在使用标签等,但我不需要标签。

这是我之前使用适配器的方式:

public class WebViewAdapter extends BaseAdapter  {

private Activity activity;
private ArrayList<String> name;
private ArrayList<String> date;
private ArrayList<String> bodies;
private static LayoutInflater inflater = null;

public WebViewAdapter(Activity a, ArrayList<String> names, ArrayList<String> dates, ArrayList<String> body) {
    this.activity = a;
    this.name = names;
    this.date = dates;
    this.bodies = body;
    inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {
    return name.size();
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

public static class ViewHolder {
    public TextView title, date;
    public WebView body;
}

public View getView(int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    ViewHolder holder;
    if (convertView == null) {
        vi = inflater.inflate(R.layout.article_layout, null);
        holder = new ViewHolder();
        holder.title = (TextView) vi.findViewById(R.id.article_title);
        holder.date = (TextView) vi.findViewById(R.id.date);
        holder.body = (WebView) vi.findViewById(R.id.body);


        vi.setTag(holder);
    } else
        holder = (ViewHolder) vi.getTag();
        holder.title.setText(name.get(position).toString());
        holder.date.setText(date.get(position).toString());
        holder.body.loadDataWithBaseURL(null, bodies.get(position).toString(), "text/html", "utf-8", null);

    return vi;
}

}

我是这样使用它的:

WebViewAdapter adapter = new WebViewAdapter(this, titles, dates, bodies);
viewFlow.setAdapter(adapter, pos);

现在我需要与 ViewPager 实现相同的结果,因为我正在移动我的所有项目以使用来自新 SDK API 的片段和东西。

任何建议/建议/帮助我怎样才能做到这一点?

4

2 回答 2

2

而不是您的适配器实现 FragmentPagerAdapter。像使用 ViewFlow 一样 Invflate ViewPager 并在其上设置创建的适配器。一切都差不多。唯一的区别 - 适配器使片段实例化,而片段使视图膨胀。

于 2012-10-13T07:58:54.010 回答
0

不知道你想达到什么目标。

如果您想使用片段而不是视图,请检查actionBarSherlock示例中名为“选项卡和寻呼机”的示例(在片段项目中)。它甚至与旧的 android 版本兼容(在引入片段之前)。

于 2012-10-13T07:52:18.747 回答