2012-10-13 57 views
0

我需要一些帮助来了解如何将当前的ViewFlow实现更改为android v4.ViewPager。直到现在,我正在用ArayLists<?>填充我的观点与数据。现在我需要使用与我一样的方式(如果可能的话)并使用Android SDK中的ViewPager。任何建议都将很好理解它是如何工作的,因为我通过互联网找到的例子使用标签等,但我不需要标签。带有动态内容的Android 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 SDK中使用碎片和东西。

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

回答

2

而不是您的适配器实现FragmentPagerAdapter。像ViewFlow一样调用ViewPager并在其上设置创建的适配器。 一切都非常相似。唯一的区别 - 一个适配器会产生fragements,并且这些片段会膨胀视图。

0

不确定你想实现什么。

如果您想使用片段而不是视图,请检查actionBarSherlock示例(在片段项目中)中名为“tabs和pager”的示例。它甚至可以兼容旧的Android版本(在引入片段之前)。