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 の Fragments などを使用するようにすべてのプロジェクトを移動しているためです。

アドバイス/提案/ヘルプどうすればこれを達成できますか?

4

2 に答える 2

2

アダプタの代わりに、FragmentPagerAdapterを実装します。ViewFlowで行ったようにViewPagerを起動し、作成したアダプタを設定します。すべてがかなり同じです。唯一の違い-アダプターは断片を示し、断片はビューを膨らませます。

于 2012-10-13T07:58:54.010 に答える
0

何を達成したいのかわからない。

ビューの代わりにフラグメントを使用する場合は、actionBarSherlockサンプル (フラグメント プロジェクト内) 内の「タブとページャー」という例を確認してください。古い Android バージョン (フラグメントが導入される前) との互換性もあります。

于 2012-10-13T07:52:18.747 に答える