2016-10-24 57 views
0

我已經嘗試了所有的事情,但我不能得到正確的結果刷新列表視圖,我也嘗試如何從另一個活動(適配器)

adapter.clearAll() 
adapter.notifyDataSetChanged() 

,但我不能得到結果,當我從列表中刪除行查看其從它的位置刪除,但是當我改變另一行的值比刪除過程完美工作,但改變了價值不set.getting數據庫值完美。

這裏是我的代碼,請幫助我,告訴我在哪裏做錯了。

預先感謝您

Delete.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 

     String Identifier_fev = null; 
     String Default_Option = null; 
     String Quantity1 = null; 
     jffDatabase.open(); 
     Cursor identifie = jffDatabase.getALL(); 
     if (identifie.moveToPosition(position)) { 
      Identifier_fev = identifie.getString(identifie.getColumnIndexOrThrow("identifier")); 
      Default_Option = identifie.getString(identifie.getColumnIndexOrThrow("default_option")); 
     } 

     jffDatabase.delete(Identifier_fev, Default_Option); 
     identifier.remove(position); 
     title.remove(position); 
     defaultPrice.remove(position); 
     default_option.remove(position); 
     price.remove(position); 
     quantity.remove(position); 


      Cursor c1 = jffDatabase.getALL(); 
      if (c1.moveToFirst()) { 
       do { 
        Quantity1 = c1.getString(c1.getColumnIndexOrThrow("quantity")); 
        update_quantity.add(Quantity1); 

       } while (c1.moveToNext()); 
      } 
       for (int i = 0; i < update_quantity.size(); i++) { 
        Toast.makeText(ctx, "" + update_quantity, Toast.LENGTH_LONG).show(); 

        Quantitylbl.setText(update_quantity.get(i).toString()); 


        Toast.makeText(ctx, "set " + Quantitylbl.getText().toString(), Toast.LENGTH_LONG).show(); 
       } 


     Quantity(); 
     notifyDataSetChanged() 
     AddtoCartActivity.Cartcount.setText(String.valueOf(sum)); 

    } 

}); 
+0

哪裏是你的適配器刷新列表程序方法refreshList?數據庫中的數據如何進入適配器? –

+0

我已經使用BaseAdapter – seggy

+0

顯示您試圖調用'notifyDataSetChanged'的地方的代碼 –

回答

2

良好做法是使用接口

創建新接口

public interface MyCustomObjectListener { 
     public void RefreshList(); 
    //add parameter for delete if required ex- 
    //public void RefreshList(String Item_id);  
    } 

然後通過該接口實現活動

YourActivityName extends Activity implements MyCustomObjectListener 

與實現方法

@Override 
    public void RefreshList() { 
     // Do your delete task and clear current List and get updated list task here 
    } 

和底座適配器的onClick你可以這樣調用

((YourActivityName)mContext).RefreshList(); 

可以刪除,並從@OverrideRefreshList

相關問題