1

ここにあるコードとチュートリアルを使用して QuickAction メニューを実装しました。

SQLite DB のレコードを取り込む ListView があり、レコードをクリックすると QuickAction メニューが表示されます。方法がわからないのは、QuickAction アイテムを使用して選択したレコードに対してアクションを実行することです (たとえば、QuickAction アイテムが選択されたときに DB で選択したレコードを更新します)。

これが私の QuickAction onclick リスナーです。

quickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() 
{           
   @Override

   public void onItemClick(QuickAction source, int pos, int actionId) 
   {

      ActionItem actionItem = quickAction.getActionItem(pos);

      if (actionId == VIEW) 
       {
          [view the record]
       } 
       else if (actionId == UPDATE) 
        {
           [update a value in the db]
         } 
       else 
        {
          [do something else to the record]
        } 
    }
  });
4

1 に答える 1

0

OnItemClick には位置のみを渡します。レコードを更新するには、putExtra メソッドを使用できます。

quickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() 
   {            
    @Override
    public     void onItemClick(int pos) 
    {
       if (pos == 0) 
           { //View item selected                                   
        Toast.makeText(YourCurrentActivity.this, "View item selected",
               Toast.LENGTH_SHORT).show();
        } 
        else if (pos == 1)
        { //Update item selected
                Toast.makeText(YourCurrentActivity.this, "Update item selected", 
                        Toast.LENGTH_SHORT).show();
        }
         else if (pos == 2)
        { //Other item selected
                Toast.makeText(YourCurrentActivity.this, "Other item selected", 
                        Toast.LENGTH_SHORT).show();
    }                               
   }                            
});
于 2012-08-24T10:00:57.267 に答える