我是android studio的新手。我正在尝试显示基于NOMOR_KK的NAMA_PROSES列表。这是我的数据库示例
| 标称值_KK|乌鲁特|NAMA_流程|
| - ------|- ------|- ------|
| 小行星666|1个|贴纸|
| 小行星666|第二章|盖章,SISIR|
| 小行星666|三个|塞塔克、庞兹、凯鲁帕斯|
| 小行星666|四个|卷内分类|
| 小行星666|五个|拉姜+计数器|
| 小行星6037|1个|涂层和处理|
| 小行星6037|第二章|CETAK全息图|
| 小行星6037|三个|波东和分拣|
| 小行星6037|四个|倒带和分拣|
当我尝试基于NOMOR_KK显示NAMA_PROSES时,输出正确,如enter image description here下图所示
但当我更改为另一个KK编号时,旧KK编号的历史记录仍然列出enter image description here
我仍然在寻找如何清除以前的历史记录
spinJSON.java
private void spinJSON(String response){
try {
JSONObject obj = new JSONObject(response);
if (obj.optString("kode").equals("true")){
dataModels = new ArrayList<>();
JSONArray dataArray = obj.getJSONArray("data");
for (int i = 0; i < dataArray.length(); i++) {
DataModel dataModel = new DataModel();
JSONObject dataobj = dataArray.getJSONObject(i);
dataModel.setNAMA_PROSES(dataobj.getString("NAMA_PROSES"));
dataModels.add(dataModel);
}
for (int i = 0; i < dataModels.size(); i++){
getnamaProses.add(dataModels.get(i).getNAMA_PROSES().toString());
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, getnamaProses);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerKK.setAdapter(spinnerArrayAdapter);
}
} catch (JSONException e){
e.printStackTrace();
}
}
1条答案
按热度按时间njthzxwz1#
基本上你的代码逻辑没有错,但是你要注意这一行:
要在
Spinner
中选择的字符串目标来自此变量getnamaProses
。看起来
getnamaProses
是一个全局变量,因为我看不到你在提供的函数中声明它。你只是不断地向getnamaProses
添加字符串而不清除它。因此,在向它添加String之前,必须执行类似
getnamaProses.clear();
的操作。