gpt4 book ai didi

android - 如果 EditText 内容发生变化,如何更新 JSONobject?

转载 作者:行者123 更新时间:2023-11-29 17:01:43 24 4
gpt4 key购买 nike

我通过 JSONarray 检索联系人的一些电话和电子邮件,对于其中的每一个元素,它都会创建一个新的 EditText(带有电话或电子邮件)。

我想知道如果用户更改电话号码或电子邮件后如何更新我的 JSONobject,之后我想将此 JSONobject 添加到 JSONarray 以发布到我的服务。

这是我在 EditText 中放置元素的代码:

try {
multiplesArray = new JSONArray(multiples);
//multiplesUpdatedArray = new JSONArray();
System.out.println(multiplesArray.toString(2));

for (int i=0; i<multiplesArray.length(); i++) {
JSONObject contact = new JSONObject();
String type = multiplesArray.getJSONObject(i).getString("tipo");
String data = multiplesArray.getJSONObject(i).getString("texto");
String id = multiplesArray.getJSONObject(i).getString("id");

if (type.equals("phone")) {
final EditText etPhoneItem = new EditText(this);
etPhoneItem.setText(data);
viewPhonesContainer.addView(etPhoneItem);

} else if (type.equals("email")) {
final EditText etEmailItem = new EditText(this);
etEmailItem.setText(data);
viewEmailContainer.addView(etEmailItem);

}

contact.put("tipo", type);
contact.put("id", id);
contact.put("texto", data);
contact.put("cat", "");
contact.put("cat_id", "");

/*multiplesUpdatedArray.put("tipo");
multiplesUpdatedArray.put(type);
multiplesUpdatedArray.put("id");
multiplesUpdatedArray.put(id);
multiplesUpdatedArray.put("texto");
multiplesUpdatedArray.put(data);*/
}

} catch (JSONException e) {
e.printStackTrace();
}

我用“setOnFocusChangeListener”尝试了一些代码,但它没有用:-(

提前致谢!

最佳答案

使用 addTextChangeListener

editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override
public void onTextChanged(CharSequence pCode, int start, int before, int count) {
// change your JSONObject
jsobObject.put("key", "value");
}

@Override
public void afterTextChanged(Editable s) {

}
});

关于android - 如果 EditText 内容发生变化,如何更新 JSONobject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42515573/

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