Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取列表视图中单击项的位置并将其存储在变量中_Java_Android_Listview - Fatal编程技术网

Java 如何获取列表视图中单击项的位置并将其存储在变量中

Java 如何获取列表视图中单击项的位置并将其存储在变量中,java,android,listview,Java,Android,Listview,所以我用5-6个项目做了这个列表视图。我已经设置了McClickListener方法。我想获取单击的listView的位置。对于1号上的ex if,我应该得到相应的位置并将其保存在变量中。如果我点击第二个,我会得到相应的位置,依此类推。我是初学者,请解释一下 final ListView listView = (ListView) findViewById(R.id.listView); ArrayList<String> abcd = new ArrayList&l

所以我用5-6个项目做了这个列表视图。我已经设置了McClickListener方法。我想获取单击的listView的位置。对于1号上的ex if,我应该得到相应的位置并将其保存在变量中。如果我点击第二个,我会得到相应的位置,依此类推。我是初学者,请解释一下

    final ListView listView = (ListView) findViewById(R.id.listView);
    ArrayList<String> abcd = new ArrayList<>();
    abcd.add("Number One");
    abcd.add("Number Two");
    abcd.add("Number Three");
    abcd.add("Number Four");
    abcd.add("Number Five");
    abcd.add("Number Six")
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this,R.layout.list_view);
    listView.setAdapter(adapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        int position = listView.getItemIdAtPosition(position);
        Toast.makeText(MainActivity.this, "Clicked"+position , Toast.LENGTH_SHORT).show();
    }
});
final ListView ListView=(ListView)findviewbyd(R.id.ListView);
ArrayList abcd=新建ArrayList();
abcd.添加(“第一名”);
添加(“第二号”);
添加(“第三号”);
添加(“第四号”);
添加(“第五号”);
添加(“第六号”)
ArrayAdapter=新的ArrayAdapter(这个,R.layout.list\u视图);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
int position=listView.GetItemIDataPosition(位置);
Toast.makeText(MainActivity.this,“单击”+位置,Toast.LENGTH_SHORT.show();
}
});

将您的列表作为私有字段

   private List<String> abcd = new ArrayList<>();
private List abcd=new ArrayList();
在你的逻辑中:

   final ListView listView = (ListView) findViewById(R.id.listView);

    abcd.add("Number One");
    abcd.add("Number Two");
    abcd.add("Number Three");
    abcd.add("Number Four");
    abcd.add("Number Five");
    abcd.add("Number Six")
    ArrayAdapter<String> adapter = new ArrayAdapter<>(this,R.layout.list_view);
    listView.setAdapter(adapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
       String selectedElement = abcd.get(i);
    }
});
final ListView ListView=(ListView)findviewbyd(R.id.ListView);
abcd.添加(“第一名”);
添加(“第二号”);
添加(“第三号”);
添加(“第四号”);
添加(“第五号”);
添加(“第六号”)
ArrayAdapter=新的ArrayAdapter(这个,R.layout.list\u视图);
setAdapter(适配器);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
字符串selectedElement=abcd.get(i);
}
});
所选元素将是您可以存储的元素

我将尝试以下方法:

listview.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3)
        {
            String selectedFromList =(String) (listview.getItemAtPosition(position).toString());
            Log.d("Selected: ",  selectedFromList);
        }
    });
listview.setOnItemClickListener(新的AdapterView.OnItemClickListener()
{
@凌驾
public void onItemClick(AdapterView arg0、视图视图、整型位置、长arg3)
{
字符串selectedFromList=(字符串)(listview.getItemAtPosition(position.toString());
Log.d(“Selected:”,selectedFromList);
}
});

i
是单击项目的位置。只要阅读方法文档,你就会知道i是位置,所以像这样制作toast.makeText(MainActivity.this,“Clicked”+i,toast.LENGTH_SHORT).show()onItemClick…{String item=abcd.get(position);我刚刚试过,但应用程序不断崩溃Idk为什么。有什么想法吗?