Java 获取Android中列表项的位置

Java 获取Android中列表项的位置,java,android,oncreate,Java,Android,Oncreate,我在这里有一节课: package phil.droid.game; import android.content.Intent; import android.content.res.Resources; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget

我在这里有一节课:

package phil.droid.game;


import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class GameList extends GamesTrialActivity
{

private ListView lv1;
protected String Game_names[]={"God of War","FOS RO DAH", "dhwaud"};
private String Game_pics[]={"God of War","God of War II"};
private int pos;
public void onCreate(Bundle savedInstanceState) 
{   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gamelist);
    lv1=(ListView)findViewById(R.id.thegamelist);

   lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , Game_names));
   lv1.setOnItemClickListener(new OnItemClickListener() 
    {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
            {


                    pos = position;       
                Intent i = new Intent(GameList.this, game_viewer.class);
                startActivity(i);

            }
    });


}               
}

问题在于,无论我点击哪个选项,最后一位都会将“pos”识别为“0”。有人能建议一种方法,使pos被识别为上一个类中单击的数字元素吗?

使
pos
受保护
,而不是
私有

您尝试执行的操作无法工作:新启动的活动不会与父级共享相同的存储,即使它们继承了。唯一可能的方法是如果值是静态的,但这也不是一个好主意

您应该做的是在开始活动之前将数据作为意图的一部分发送,例如:

intent.putExtra("pos", position);
然后你可以在新的活动中使用

getIntent().getIntExtra("pos", -1); // -1 is used as default value

另外,
game\u viewer
应该是一个独立的活动,而不是从GameList继承而来。

我会用你看它来换取一个有意义的标题。
getIntent().getIntExtra("pos", -1); // -1 is used as default value