2

我正在使用onlongitemclick并且可以生成一个对话框来确认删除,但我无法获得listitem位置或文本。

编辑:我无法在 public void onClick(DialogInterface dialog, int which) 函数中获取 selectedValue 字符串值。

lv是我的listview对象

    lv.setOnItemLongClickListener(new OnItemLongClickListener() 
    {
        public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) 
        {
             ListView list1 = (ListView) findViewById(android.R.id.list);
              final String selectedValue = (String) list1.getItemAtPosition(arg2);
                AlertDialog.Builder alertDialog = new  AlertDialog.Builder(RecipeList.this);
                alertDialog.setTitle("Delete");
                alertDialog.setMessage(selectedValue);     
                alertDialog.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int which) {

                                obj Recipe = new obj(selectedValue, RecipeList.this);

                                Recipe.remove(<I need the listview item to create the object and then delete some listing in the DB, seletecValue should do this, but it does not>)
                                Intent intent2 = new Intent(RecipeList.this, RecipeList.class); //go to recipe list
                                startActivity(intent2);

                   } }); 
                   alertDialog.setPositiveButton("Keep", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int which) {
                          // alertDialog.dismiss();
                   } }); 

                   alertDialog.show();
                return true;
        }
    });
4

1 回答 1

2

arg1是您的视图,您应该能够从视图中获取文本。

arg2是位置。

请参阅:http: //developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html

于 2013-01-15T21:48:49.680 回答