我有一個ListView,並使用JSONArray的Adapter將其填充到自定義視圖中。在每一行中,我都有一個按鈕來刪除該行,但我不知道如何去做。從自定義ListView中刪除行JSONArray.remove(int)undefined
cancel.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder ad = new AlertDialog.Builder(context);
ad.setCancelable(false);
ad.setMessage("Are you sure?");
ad.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//jsonArray.remove(position);
}
});
的jsonArray.remove(position)
說undefined for the type
和Cannot refer to a non-final variable position inside an inner class defined in a different method
的開始我的適配器是這樣的:
class JSONAdapter extends BaseAdapter implements ListAdapter {
private final JSONArray jsonArray;
private final LayoutInflater mInflater;
private final Context context;
private Button pay, cancel;
public JSONAdapter(Context context, JSONArray jsonArray) {
this.jsonArray = jsonArray;
this.context = context;
mInflater = LayoutInflater.from(context);
}
所以我怎麼能刪除它的任何想法?在此先感謝
非常感謝您的回覆。我知道JSONArray沒有刪除方法,我只是把它放在那裏,因爲我看到有些人在其他問題中「解決」這樣的問題。感謝您的回覆,我有一個想法來解決。我基本上做的是在我的適配器上創建一個remove方法,它將JSONArray解析爲一個List,然後移除,然後返回(我知道它不是選項1,但選項1需要在我的代碼中進行更多更改)。再次感謝隊友。 –