1

http://viewpagerindicator.com/からダウンロードした viewpagerindicator を使用しています。これで、viewpage アダプターに 2 つの静的ページを作成して、2 つのページを交換できるようになりました。ただし、さまざまなページでさまざまなアクティビティを処理する方法を管理できません。例えば。ページ1は画像で、画像をクリックして新しい活動を開始する人が欲しい. そして2ページ目はリストビューです。リストをクリックして、リスト項目に関連する別のものを表示できる人が欲しいです。アダプタのソース コードは次のとおりです。誰かが私を助けてくれることを願っています. 私はただの初心者です....

    public class ViewPagerAdapter extends PagerAdapter

    {
        private static String[] titles = new String[]
        {
            "A",
            "B",
        };
        private final Context context;

        public ViewPagerAdapter( Context context )
        {
            this.context = context;
        }

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


        @Override
        public int getCount()
        {
            return titles.length;
        }

        @Override
        public Object instantiateItem( View pager, int position )
        {
              if (position == 0) 
              { 
                    ImageView v = new ImageView(context);  
                    v.setImageResource(R.drawable.am);              
                    ((ViewPager)pager).addView( v, 0 );
                    return v;
                }else if (position==1)
                {
                    ListView v = new ListView( context );
                    String[] from = new String[] { "str" };
                    int[] to = new int[] { android.R.id.text1 };
                    List<Map<String, String>> items =
                        new ArrayList<Map<String, String>>();
                    for ( int i = 0; i < 20; i++ )
                    {
                        Map<String, String> map =
                            new HashMap<String, String>();
                        map.put( "str", String.format( "Item %d", i + 1 ) );
                        items.add( map );
                    }
                    SimpleAdapter adapter = new SimpleAdapter( context, items,
                        android.R.layout.simple_list_item_1, from, to );
                    v.setAdapter( adapter );
                    ( (ViewPager) pager ).addView( v, 0 );

                    v.setOnItemClickListener(new OnItemClickListener() {
                          public void onItemClick(AdapterView<?> parent, View view,
                              int position, long id) {


  Intent a =new Intent(context,SecondActivity.class);<---(dont know how to start new activity)      
            this.startActivity(a); <-----(dont know how to start new activity, idea is to start new activity here)      

                        }
                        });
                    ((ViewPager)pager).addView( v, 0 );
                    return v;
                }
    @Override
    public void destroyItem( View pager, int position, Object view )
    {
        if (position == 0)
        {
        ((ViewPager)pager).removeView( (ImageView)view );
        }else if (position == 1) 
            {
            ((ViewPager)pager).removeView( (ListView)view );
            }else
            {
                ((ViewPager)pager).removeView( (TextView)view );
            }

    }

私の主なものは次のとおりです。

public class MainActivity extends Activity {

@Override
public void onCreate( Bundle savedInstanceState )
{
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );

    ViewPagerAdapter adapter = new ViewPagerAdapter( this );
    ViewPager pager =
        (ViewPager)findViewById( R.id.viewpager );
    TitlePageIndicator indicator =
        (TitlePageIndicator)findViewById( R.id.indicator );
    pager.setAdapter( adapter );
    indicator.setViewPager( pager );

}

}

レイアウトxmlは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <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="wrap_content"
        android:layout_weight="1" />
</LinearLayout>
4

1 に答える 1