0

ViewPager で ImageView の画像リソースを設定しようとすると、「ソースが見つかりません」というエラーが表示されます。しかし、XMLで画像を設定するとエラーは発生しません。ただし、XML で画像を設定すると、アプリの実行中に表示されません。私はviewpagerindictor libとandroid-support-v13.jarを使用しています。活動コード

public class DataActivity extends Activity {

/** Called when the activity is first created. */
int obj_id, type_id, node_id;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page);

    Bundle ex = getIntent().getExtras();
    if (ex != null) {
        obj_id = ex.getInt("obj");
        type_id = ex.getInt("type");
        node_id = ex.getInt("node");
    }

    LayoutInflater inf = LayoutInflater.from(this);
    List<View> pages = new ArrayList<View>();

    View page = inf.inflate(R.layout.page, null);
    ImageView im = (ImageView)page.findViewById(R.id.im_v_obj1);
    im.setImageDrawable(getResources().getDrawable(R.drawable.obj1));
    pages.add(page);

    PageAdapter pa = new PageAdapter(pages);
    ViewPager vp = (ViewPager)findViewById(R.id.viewpager);
    TitlePageIndicator tpi = (TitlePageIndicator)findViewById(R.id.indicator);
    vp.setAdapter(pa);
    tpi.setViewPager(vp);

    }

}

PageAdapter コード

public class PageAdapter extends PagerAdapter {

List<View> pages = null;

private static String[] titles = new String[]
        {
            "Object 1"
        };

public PageAdapter(List<View> pages) {
    this.pages = pages;
}

public String getPageTitle( int position )
{
    return titles[ position ];
}

@Override
public Object instantiateItem(View collection, int pos) {
    View v = pages.get(pos);
    ((ViewPager)collection).addView(v, 0);
    return v;
}

@Override
public void destroyItem (View collection, int pos, Object view) {
    ((ViewPager)collection).removeView((View)view);
}

@Override
public int getCount() {
    return pages.size();
}

@Override
public boolean isViewFromObject(View v, Object obj) {
    return v.equals(obj);
}

XML コード

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/indicator"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

</LinearLayout>
4

1 に答える 1

0

私はあなたのために働くかもしれない非フラグメントアダプタソリューションを持っています。私の投稿をご覧ください。

于 2012-12-02T21:08:27.200 に答える