Android 检索单击的ListViewItem的位置

Android 检索单击的ListViewItem的位置,android,android-listview,listviewitem,Android,Android Listview,Listviewitem,我有一个包含项目的列表视图。根据单击了哪个ListViewItem,我想打开一个活动并将数据传递给它。 但是,如何获取已单击的ListViewItem的位置 这是我的密码 public class tutorialActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我有一个包含项目的列表视图。根据单击了哪个ListViewItem,我想打开一个活动并将数据传递给它。 但是,如何获取已单击的ListViewItem的位置

这是我的密码

public class tutorialActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tutorial);
        registerClickCallBack();
        ListView listView = (ListView) findViewById(R.id.tutorialList);

        String tutorialTitle1 = getResources().getString(R.string.tutorial1_title);
        String tutorialTitle2 = getResources().getString(R.string.tutorial2_title);
        String tutorialTitle3 = getResources().getString(R.string.tutorial3_title);
        String tutorialTitle4 = getResources().getString(R.string.tutorial4_title);
        String tutorialTitle5 = getResources().getString(R.string.tutorial5_title);
        String tutorialTitle6 = getResources().getString(R.string.tutorial6_title);
        String tutorialTitle7 = getResources().getString(R.string.tutorial7_title);
        String tutorialTitle8 = getResources().getString(R.string.tutorial8_title);
        String tutorialTitle9 = getResources().getString(R.string.tutorial9_title);
        String tutorialTitle10 = getResources().getString(R.string.tutorial10_title);
        String tutorialTitle11 = getResources().getString(R.string.tutorial11_title);
        String tutorialTitle12 = getResources().getString(R.string.tutorial12_title);
        String tutorialTitle13 = getResources().getString(R.string.tutorial13_title);
        String tutorialTitle14 = getResources().getString(R.string.tutorial14_title);

        String[] values = new String[] { tutorialTitle1, tutorialTitle2, tutorialTitle3, tutorialTitle4, tutorialTitle5, tutorialTitle6, tutorialTitle7, tutorialTitle8, tutorialTitle9, tutorialTitle10, tutorialTitle11, tutorialTitle12, tutorialTitle13, tutorialTitle14};

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
        listView.setAdapter(adapter);
    }

    private void registerClickCallBack() {
        ListView list = (ListView) findViewById(R.id.tutorialList);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View viewClicked,int position, long id) {
            //How do I retrieve this position that has been clicked?
        }
    });
}
}
公共类教程活动扩展活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.tutorial);
registerClickCallBack();
ListView ListView=(ListView)findViewById(R.id.tutorialList);
String tutorialTitle1=getResources().getString(R.String.tutorial1_title);
String tutorialTitle2=getResources().getString(R.String.tutorial2_title);
String tutorialTitle3=getResources().getString(R.String.tutorial3_title);
String tutorialTitle4=getResources().getString(R.String.tutorial4_title);
String tutorialTitle5=getResources().getString(R.String.tutorial5_title);
String tutorialTitle6=getResources().getString(R.String.tutorial6_title);
String tutorialTitle7=getResources().getString(R.String.tutorial7_title);
String tutorialTitle8=getResources().getString(R.String.tutorial8_title);
String tutorialTitle9=getResources().getString(R.String.tutorial9_title);
String tutorialTitle10=getResources().getString(R.String.tutorial10_title);
String tutorialTitle11=getResources().getString(R.String.tutorial11_title);
String tutorialTitle12=getResources().getString(R.String.tutorial12_title);
String tutorialTitle13=getResources().getString(R.String.tutorial13_title);
String tutorialTitle14=getResources().getString(R.String.tutorial14_title);
字符串[]值=新字符串[]{tutorialitle1、tutorialitle2、tutorialitle3、tutorialitle4、tutorialitle5、tutorialitle6、tutorialitle7、tutorialitle8、tutorialitle9、tutorialitle10、tutorialitle11、tutorialitle12、tutorialitle13、tutorialitle14};
ArrayAdapter=新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,android.R.id.text1,值);
setAdapter(适配器);
}
私有无效注册表ClickCallback(){
ListView列表=(ListView)findViewById(R.id.tutorialList);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图已单击、整型位置、长id){
//如何检索已单击的此位置?
}
});
}
}

在onCreate之外声明值

String[] values;
然后只需为其指定一个值:

values = new String[] { tutorialTitle1, ... };
然后在
中单击
使用
值[position]获取字符串


并根据该字符串启动活动。

在onCreate之外声明值

String[] values;
然后只需为其指定一个值:

values = new String[] { tutorialTitle1, ... };
然后在
中单击
使用
值[position]获取字符串


并根据该字符串启动活动。

不确定您在回调方法中要求什么,您有位置。

不确定您在回调方法中要求什么,您有位置。

使用字符串selectedItem=(string)list.getSelectedItem();获取所选字符串。从方法public void onItemClick(AdapterView父项、View viewClicked、int-Position、long-id)中单击的项目的位置)

使用字符串selectedItem=(字符串)list.getSelectedItem();获取所选字符串。从方法public void onItemClick(AdapterView父项、View viewClicked、int-Position、long-id)中单击的项目的位置)

Easy one。此处参考:


:)

简单一点。此处参考:

:)

使用GetCheckEditePosition()确定所选项目的位置,假设您有选项Mode:single

为了简单地获得在onClick方法中单击的项目的位置,这已经在那里了

private void registerClickCallBack() {
        ListView list = (ListView) findViewById(R.id.tutorialList);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View viewClicked,int position, long id) {
            //How do I retrieve this position that has been clicked?
            int thePositionThatWasClicked = position;
        }
    });
private void registerClickCallBack(){
ListView列表=(ListView)findViewById(R.id.tutorialList);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图已单击、整型位置、长id){
//如何检索已单击的此位置?
int单击的位置=位置;
}
});
使用GetCheckEditePosition()确定所选项目的位置,假设您有choiceMode:single

为了简单地获得在onClick方法中单击的项目的位置,这已经在那里了

private void registerClickCallBack() {
        ListView list = (ListView) findViewById(R.id.tutorialList);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View viewClicked,int position, long id) {
            //How do I retrieve this position that has been clicked?
            int thePositionThatWasClicked = position;
        }
    });
private void registerClickCallBack(){
ListView列表=(ListView)findViewById(R.id.tutorialList);
list.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图已单击、整型位置、长id){
//如何检索已单击的此位置?
int单击的位置=位置;
}
});

现在是
最后一个字符串[]值
我在onItemClick中输入了
值[position]
但这会引发此错误
值无法解析为变量
哦,是的。在onCreate之外声明
。在这种情况下,不需要
final
。我不想返回字符串,但返回位置,我正在尝试获取
整数
返回。您可以在OnItemClick中启动您的活动。您有v变量
position
在那里。好吧,我想我明白了,我会尝试一下,如果它有效,我会接受答案:)现在它是
最终字符串[]值
,我在onItemClick中输入了
值[position];
但这会引发此错误
值无法解析为变量
哦,是的。在onCreate之外声明
。在这种情况下