dataList = new ArrayList>(); try { -6ren">
gpt4 book ai didi

android - 我有一个从 sql 数据库获取信息的 ListView ,并且我设置了 OnItemLongClickListener

转载 作者:行者123 更新时间:2023-11-29 12:44:47 26 4
gpt4 key购买 nike

public void ListDrwaer() {
String outPut = "";
List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();

try {
JSONObject jsonResponse = new JSONObject(jsonResult);
JSONArray jsonMainNode = jsonResponse.optJSONArray("details");

for (int i = 0; i < jsonMainNode.length(); i++) {
JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
String desc = jsonChildNode.optString("saved_desc");
String saved_pw = jsonChildNode.optString("saved_pw");
String user_names = jsonChildNode.optString("user_names");
number = jsonChildNode.optInt("num_saved");

outPut =number+" User name: "+user_names+"\nPassword: "+saved_pw+"\nDescription: "+desc+"\n";
dataList.add(createDataList("users", outPut));
}

listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {

String data = (String) ((TextView)view).getText();

Toast.makeText(getApplicationContext(), "Edit data at Id\n"+number, Toast.LENGTH_SHORT).show();

ConfirmBox(data, position);

return false;
}
});

} catch (Exception e) {
//Go to add activity if no data to display
startActivity(new Intent(getApplicationContext(), Add.class).putExtra("data", "no"));
}

SimpleAdapter simpleAdapter = new SimpleAdapter(this, dataList,
android.R.layout.simple_list_item_1,
new String[] { "users" }, new int[] { android.R.id.text1 });
listView.setAdapter(simpleAdapter);

}

private HashMap<String, String> createDataList(String name, String value) {
HashMap<String, String> dataNo = new HashMap<String, String>();
dataNo.put(name, value);
return dataNo;
}

现在我想要的是,当我长按一个项目时,我想看到一个带有数据库中该项目编号的 toast 。

list

我在 mysql 数据库中有一个字段“num_saved”,每当用户向数据库添加数据时,该字段就会自动递增。当我从数据库检索数据时,每一行在字段“num_saved”中都有唯一的值

我想要的是,当长按 ListView 上的任何项目时,会看到烘烤的唯一编号num_saved。我已根据其他人的要求进行了编辑并添加了适配器代码。 long press dialog

edit dialog

最佳答案

您将需要大量代码才能真正使其工作,正如我所说的正确方式。

原因:您正在将数据 JSON 解析为字符串,num_saved 保存在 number 变量中,该变量连接到 otuput

  outPut =number+" User name: "+user_names+"\nPassword: "+saved_pw+"\nDescription: "+desc+"\n";

并且在某种程度上,我无法仅通过String来判断ID号是什么。下面的代码是针对您的问题的快速修复,因为我发现您的代码需要更多的优化和修正。

 String data =  (String) ((TextView)view).getText();
int num=Integer.parseInt(data.subString(0,1)); //<= Here is your number
Toast.makeText(getApplicationContext(), "Edit data at Id\n"+number, Toast.LENGTH_SHORT).show();

通过使用num,您可以执行操作,显示对话框并执行其他必要的选项

关于android - 我有一个从 sql 数据库获取信息的 ListView ,并且我设置了 OnItemLongClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25603303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com