Android 如何根据用户选择在ViewPager中设置CurrentPage&;如何知道哪个列表项称为“活动”

Android 如何根据用户选择在ViewPager中设置CurrentPage&;如何知道哪个列表项称为“活动”,android,eclipse,android-listview,android-viewpager,Android,Eclipse,Android Listview,Android Viewpager,我不熟悉安卓编程 我有一个项目列表,当用户单击一个项目时,它会将他们带到一个包含该项目详细信息的屏幕 我希望用户能够左右滑动以查看列表中其他项目的详细信息,而不是返回列表并选择其他项目 我读到我需要使用ViewPager来左右滑动,所以我这样做了。 ViewPager工作正常,但当我单击列表中的任何项目时,我的问题总是出现在ViewPager的第一页 我不想这样,我想要的是,如果我单击列表中的项目4,它会将我带到查看页面的第4页,并且仍然能够左右滑动以查看其他项目的详细信息。 我知道如何通过使用

我不熟悉安卓编程

我有一个项目列表,当用户单击一个项目时,它会将他们带到一个包含该项目详细信息的屏幕

我希望用户能够左右滑动以查看列表中其他项目的详细信息,而不是返回列表并选择其他项目

我读到我需要使用
ViewPager
来左右滑动,所以我这样做了。
ViewPager工作正常,但当我单击列表中的任何项目时,我的问题总是出现在ViewPager的第一页

我不想这样,我想要的是,如果我单击列表中的项目4,它会将我带到查看页面的第4页,并且仍然能够左右滑动以查看其他项目的详细信息。

我知道如何通过
使用mPager.setCurrentItem(0)

但我不知道如何根据从列表中选择的项目(即启动活动的项目)进行设置

这是我的密码:

包含listview的主要活动:

    public class Main extends SherlockListActivity implements OnItemClickListener {

        @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);  

            ListView mylist = (ListView) findViewById(android.R.id.list);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simple_list_reda_1, R.id.list_content, getResources().getStringArray(R.array.items_list_array) );
            mylist.setAdapter(adapter);

            mylist.setOnItemClickListener(new OnItemClickListener() 
            {
                public void onItemClick(AdapterView<?> arg0,View arg1, int position, long arg3) 
                {
                    Intent n = null; 
                    switch (position){
                        case 0: 
                            n = new Intent(getApplicationContext(), ViewPagerClass.class);
                            break;
                        case 1: 
                            n = new Intent(getApplicationContext(), ViewPagerClass.class);
                            break;
                        case 2: 
                            n = new Intent(getApplicationContext(), ViewPagerClass.class);
                            break;
                        case 3: 
                            n = new Intent(getApplicationContext(), ViewPagerClass.class);
                            break;
                    }

                    if(null!=n)
                        startActivity(n);
                }
            });     
        }
    }
最后是viewpager_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>

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

简而言之,我想要的是:
如果单击列表中的项目3,我将进入包含项目3详细信息的屏幕,如果向右滑动,我将进入项目4,如果向左滑动,我将进入项目2。

onItemClickListener()
中,您需要添加一个额外的意图,以便在该活动启动时获得它

n.putExtra("POSITION_KEY", position);
ViewPagerClass
onCreate()
中,使用

int position = getIntent().getIntExtra("POSITION_KEY", 0);
mPager.setCurrentItem(position);

“我知道如何使用mPager.setCurrentItem(0)在viewpager中设置页面,但我不知道如何根据从列表中选择的项目(即启动活动的项目)进行设置。我希望我的问题是清楚的。”在我看来,他似乎想知道如何设置点击ViewPager的位置
int position = getIntent().getIntExtra("POSITION_KEY", 0);
mPager.setCurrentItem(position);