2012-02-24 78 views
1

我试图使用代码如何从扩展列表视图

groupPositionID是一个全局变量初始化这样 和IngredientListGroup_cursor是一组光标它取了来从选定的组中的主键“_id”删除组对于expanable列表视图组的数据。

String groupPositionID=null; 
Cursor IngredientListGroup_cursor; 

在OnCreate代码:

public void onCreate(Bundle savedInstanceState) { 
IngredientListGroup_cursor=helper.GetIngredientsList(); 
} 

ExpandableIngredietnsList.setOnGroupClickListener(new OnGroupClickListener(){ 

       @Override 
       public boolean onGroupClick(
         ExpandableListView paramExpandableListView, 
         View paramView, int paramInt, long paramLong) { 
        // TODO Auto-generated method stub 

        groupPositionID=IngredientListGroup_cursor.getString(0); 

        Toast toast = Toast.makeText(getBaseContext(),groupPositionID ,Toast.LENGTH_LONG);  
        toast.show(); 
        return false; 
       } 

      }); 

这是我从数据库中删除选定的组提供SQLHelper功能。

public Cursor GetIngredientsList(){ 

    return(getReadableDatabase().rawQuery("SELECT _id,Ingredient_name FROM tblIngredients",null)); 

} 

public Cursor DeleteIngredientsList_Item(String index){ 
     String[] args={index}; 
     return(getReadableDatabase().rawQuery("DELETE FROM tblIngredients WHERE _id=?",args)); 

} 

我现在面临的问题是THA尽管我收到了来自光标所选组的ID(1M可以看到,作为土司),但是,为什么我不能够删除从上下文菜单中。关于选择从上下文菜单中删除下面的代码应该正确执行

public boolean onOptionsItemSelected(MenuItem IngredientItem){ 
    if(IngredientItem.getItemId()==R.id.addIngredient){ 
     Intent i= new Intent(Ingredients_List.this,Ingredients_Add.class); 
     startActivity(i); 
     return(true); 
    } 
    else if (IngredientItem.getItemId()==R.id.deleteIngredient) { 

     if(groupPositionID!=null){ 
       helper.DeleteIngredientsList_Item(groupPositionID); 
       return(true); 
      } 
      else{ 
       Toast.makeText(getBaseContext(), "Select The Ingredient You want to delete", Toast.LENGTH_LONG).show(); 
      } 
    } 
    return (super.onOptionsItemSelected(IngredientItem)); 

} 

我得到价值从“groupPositionID”变量这里选择的主键ID

..精确值传送到数据库原始查询也。 ..仍然没有得到什么我期待

plz帮助尽快我新的Android和Java的

SDK的信息(尽管不是必须)

android:versionCode="1" 
android:versionName="1.0" 
android:minSdkVersion="8" 

由于提前

回答

3
public void DeleteIngredientsList_Item(long index){ 

    String[] args = new String[]{Long.toString(index)}; 
    Log.v("I am in", "SQLHelper"); 
    getWritableDatabase().execSQL("DELETE FROM tblIngredients WHERE _id=?",args); 

} 

我修改这个代码删除在MySQL帮手

我的功能早些时候返回光标这就是为什么它是在实际查询没有得到执行不工作... meanz ...

剩下的就是确定.. :)