如何在TextView中获取微调器值

如何在TextView中获取微调器值,第1张

如何在TextView中获取微调器值

定义自定义界面,该界面从多个项目选择对话框中进行回调。

public interface MultipleItemSelectListener {    public void onSelected(String value,String ids);}

自定义多项选择对话框方法。

参量

内容 :您的活动内容参考。

title :对话框标题。

jsonArrayString :您的jsonarray响应作为字符串。

MultipleItemSelectListener :对选定项的侦听 器进行 自定义。

public void getMultiSelectionDialog(final Context context,final String title, String jsonString, final String value, final MultipleItemSelectListener target) {    final ArrayList<String> values = new ArrayList<String>();    final ArrayList<String> ids = new ArrayList<String>();    final String BUSINESS_ID="id";    final String BUSINESS_NAME="name";    try {        JSonArray jsonArray = new JSonArray(jsonString);        int size = jsonArray.length();        for (int i = 0; i < size; i++) { values.add(((JSONObject) jsonArray.get(i)).getString(BUSINESS_NAME).trim()); ids.add(((JSONObject) jsonArray.get(i)).getString(BUSINESS_ID).trim());        }    } catch (JSonException e) {        e.printStackTrace();    }    final boolean[] selections = new boolean[values.size()];    final StringBuilder newValue = new StringBuilder();    final StringBuilder newIds = new StringBuilder();    alertDialog alert = null;    if (value.length() > 0) {        String[] oldValue = value.split(",");        int size = values.size();        for (int i = 0; i < size; i++) { int len = oldValue.length; for (int j = 0; j < len; j++) {     if (values.get(i).trim().equalsIgnoreCase(oldValue[j].trim())) {         selections[i] = true;         break;     } }        }    }    alertDialog.Builder builder = new alertDialog.Builder(context);    builder.setTitle(title);    builder.setMultiChoiceItems(values.toArray(new CharSequence[values.size()]), selections, new DialogInterface.onMultiChoiceClickListener() {        @Override        public void onClick(DialogInterface dialog, int which, boolean isChecked) { selections[which] = isChecked;        }    });    builder.setPositiveButton("Done", new DialogInterface.onClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) { int size = selections.length; for (int i = 0; i < size; i++) {     if (selections[i]) {         newValue.append(newValue.length() > 0 ? "," + values.get(i) : values.get(i));         newIds.append(newIds.length() > 0 ? "," + ids.get(i) : ids.get(i));     } } target.onSelected(newValue.toString(),newIds.toString());        }    });    builder.setNegativeButton("Cancel", new DialogInterface.onClickListener() {        @Override        public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); int size = selections.length; for (int i = 0; i < size; i++) {     if (selections[i]) {         newIds.append(newIds.length() > 0 ? "," + ids.get(i) : ids.get(i));     } } target.onSelected(value,newIds.toString());        }    });    alert = builder.create();    alert.show();}

如何获取MultiSelectionDialog:

class LoadBusiness extends AsyncTask<Void,Void,String> {    Context context;    public LoadBusiness(Context context){        this.context=context;    }    private ProgressDialog pDialog;    @Override    protected void onPreExecute() {        super.onPreExecute();        pDialog = new ProgressDialog(context);        pDialog.setMessage("Loading...");        pDialog.setIndeterminate(false);        pDialog.setCancelable(true);        pDialog.show();    }    @Override    protected String doInBackground(Void... params) {        ServiceHandler sh = new ServiceHandler();        String jsonStr = sh.makeServiceCall(BUSINESS_URL, ServiceHandler.GET);        Log.d("Response: ", "> " + jsonStr);        return jsonStr;    }    protected void onPostExecute(String result) {        super.onPostExecute(result);        pDialog.dismiss();        setTextViewWithMultipleSelectionDialog(context,result);    }}  public void setTextViewWithMultipleSelectionDialog(final Context context,final String jsonArrayString){    splang.setonClickListener(new View.onClickListener() {        @Override        public void onClick(View v) { getMultiSelectionDialog(context,"Countries",jsonArrayString,splang.getText().toString(),new MultipleItemSelectListener() {     @Override     public void onSelected(String value) {         splang.setText(value);     } });        }    }); } @Override protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   splang=(TextView)findViewById(R.id.txtvw);   new LoadBusiness(this).execute();}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5622837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存