Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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
Android 关于setOnItemClickListener(新的OnItemClickListener()_Android - Fatal编程技术网

Android 关于setOnItemClickListener(新的OnItemClickListener()

Android 关于setOnItemClickListener(新的OnItemClickListener(),android,Android,我的数据库数据存储在列表视图中,当我单击其中一个列表视图时,如何根据参数“位置”获取每个项目 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stu

我的数据库数据存储在列表视图中,当我单击其中一个列表视图时,如何根据参数“位置”获取每个项目

lv.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // TODO Auto-generated method stub
    }
});
lv.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//TODO自动生成的方法存根
}
});
您可以通过以下方式完成:

messagesContainer.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        switch (position){
           case 0:
            break;
          case 1:
            break;

        }
    }
});
messagesContainer.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
开关(位置){
案例0:
打破
案例1:
打破
}
}
});
但是,当我们必须在listview中添加许多项时,这将非常复杂。 谢谢

您可以通过以下方式完成:

messagesContainer.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        switch (position){
           case 0:
            break;
          case 1:
            break;

        }
    }
});
messagesContainer.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
开关(位置){
案例0:
打破
案例1:
打破
}
}
});
但是,当我们必须在listview中添加许多项时,这将非常复杂。 谢谢

试试这个

此示例将帮助您

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
      // When clicked, show a toast with the TextView text
      Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
          Toast.LENGTH_SHORT).show();
    }
  });
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText(),
吐司。长度(短)。show();
}
});
对于

请尝试此

此示例将帮助您

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
      // When clicked, show a toast with the TextView text
      Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
          Toast.LENGTH_SHORT).show();
    }
  });
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击后,显示带有文本视图文本的祝酒词
Toast.makeText(getApplicationContext(),((TextView)视图).getText(),
吐司。长度(短)。show();
}
});

对于

,如果在listview中设置数据库数据,如下所示

ArrayAdapter<Object> mDatabaseData = new ArrayAdapter<Object>(this,android.R.layout.simple_expandable_list_item_2, array);
lv.setAdapter(mDatabaseData);
ArrayAdapter mDatabaseData=新的ArrayAdapter(这是android.R.layout.simple\u expandable\u list\u item\u 2,数组);
lv.setAdapter(mDatabaseData);
然后您可以根据下面的参数“位置”获取每个项目

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
    int position, long id) {
  // When clicked, get data for selected position
   Object selectedItem=mDatabaseData.get(position);
   }
});
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击时,获取所选位置的数据
对象selectedItem=mDatabaseData.get(位置);
}
});

如果在listview中设置数据库数据,如下所示

ArrayAdapter<Object> mDatabaseData = new ArrayAdapter<Object>(this,android.R.layout.simple_expandable_list_item_2, array);
lv.setAdapter(mDatabaseData);
ArrayAdapter mDatabaseData=新的ArrayAdapter(这是android.R.layout.simple\u expandable\u list\u item\u 2,数组);
lv.setAdapter(mDatabaseData);
然后您可以根据下面的参数“位置”获取每个项目

lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
    int position, long id) {
  // When clicked, get data for selected position
   Object selectedItem=mDatabaseData.get(position);
   }
});
lv.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//单击时,获取所选位置的数据
对象selectedItem=mDatabaseData.get(位置);
}
});

如果要获取适配器的项目,请遵循此url,然后参见
适配器#getItem()
方法如果要获取适配器的项目,请参见
适配器#getItem(),可能重复遵循此url
method可能重复OK,我会尝试使用您的方法,谢谢您的回答。好的,我会尽我最大的努力。好的,我会尝试使用您的方法,谢谢您的回答。好的,我会尽我最大的努力。因为listview中的数据来自数据库,所以位置的值正在更改。那么我们如何使用“切换”更好?谢谢!因为listview中的数据来自数据库,位置的值正在更改。那么我们如何更好地使用“switch”呢?谢谢!是的,我使用您所说的方法将数据添加到数据库中。是的,谢谢您的帮助,可以根据“String str=(lv.getItemAtPosition(position).toString()显示整个记录。”但是,我无法成功分离所需的值。就我而言,因为记录来自数据库,所以我可能会根据id获取特定于数据库的属性列的值。我现在没有非常有效的方法来执行此操作。谢谢!抱歉,我误读了您的答案。我使用了“ArrayAdapter mDatabaseData=new ArrayAdapter”(这是android.R.layout.simple_expandable_list_item_2,array);lv.setAdapter(mDatabaseData);“在listview中显示数据。是的,我使用您所说的方法将数据添加到数据库中。是的,感谢您的帮助,可以根据“String str=(lv.getItemAtPosition(position).toString()”显示整个记录。”但是,我无法成功分离所需的值。就我而言,因为记录来自数据库,所以我可能会根据id获取特定于数据库的属性列的值。我现在没有非常有效的方法来执行此操作。谢谢!抱歉,我误读了您的答案。我使用了“ArrayAdapter mDatabaseData=new ArrayAdapter”(这是android.R.layout.simple_expandable_list_item_2,array);lv.setAdapter(mDatabaseData);”以在listview中显示数据。