qq_27074467 2016-06-30 09:33 采纳率: 37.5%
浏览 983
已采纳

代码问题,为什么我每次获取到的EditText都一样啊!烦请大神指点下

package com.shiyu.httpclient.activity;

import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.google.gson.Gson;
import com.shiyu.httpclient.R;
import com.shiyu.httpclient.httpclient.OkHttpClientManager;
import com.shiyu.httpclient.httpclient.Url;
import com.shiyu.httpclient.moudle.ToastUtil;
import com.shiyu.httpclient.moudle.bean.ReturnInfo;
import com.shiyu.httpclient.moudle.bean.WeightInfo;
import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.Request;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**

  • Created by maxb on 2016/5/31.
    */
    public class RegistryFormActivity extends BaseActivity implements View.OnClickListener {
    private EditText weigh, et_return, paracelNum,e;
    private TextView bt_overweight, bt_commit;
    private Button addedit;
    private Map map;
    private Map[] parce;
    private List adds;
    private EditText[] addedittext;
    private LinearLayout linearLayout;
    public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");

    @Override
    public void initData() {

    }

    @Override
    public void initView() {
    setContentView(R.layout.activity_registry_form);
    et_return = (EditText) findViewById(R.id.et_return);
    bt_overweight = (TextView) findViewById(R.id.bt_overweigh);
    addedit = (Button) findViewById(R.id.bt_adds);
    addedit.setOnClickListener(this);
    linearLayout = (LinearLayout) findViewById(R.id.line);
    bt_overweight.setOnClickListener(this);
    adds = new ArrayList();
    bt_commit = (TextView) findViewById(R.id.bt_commit);
    bt_commit.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.bt_overweigh:
    postOverweight();
    break;
    case R.id.bt_commit:
    postReturn();
    break;
    case R.id.bt_adds:
    addEditText();
    break;
    }
    }

    //动态添加一组控件
    private void addEditText() {
    addedittext = new EditText[9];
    for (int i = 0; i < 2; i++) {
    e = new EditText(getContext());
    addedittext[i] = e;
    adds.add(i, addedittext[i].getText().toString());
    linearLayout.addView(addedittext[i]);
    }
    }
    //取控件的text.tostring()
    private void prifit_add() {
    map = new HashMap();
    List addsss = new ArrayList();
    Map parcelnum = new HashMap();

    for (int i = 0; i < adds.size(); i++) {
        if (addedittext[i].getText().length() != 0) {
            parcelnum.put("parcelNum", addedittext[i].getText().toString());
            parce = new Map[]{parcelnum};
        }
    }
    map.put("containedParcels", parce);
    

    }

    private void postReturn() {
    prifit_add();
    OkHttpClientManager.arrayPostAsyn(Url.URL_RETURN, new OkHttpClientManager.ResultCallback() {
    @Override
    public void onError(Request request, Exception e) {

        }
    
        @Override
        public void onResponse(ReturnInfo response) {
            switch (response.getStatus()) {
                case "success":
                    ToastUtil.showMessage(R.string.result_ok, 500);
                    break;
                case "failure":
                    ToastUtil.showMessage(R.string.result_reson);
                    break;
                default:
                    ToastUtil.showMessage(R.string.result_false);
                    break;
    
            }
        }
    
    }, new Gson().toJson(map));
    

    }
    }

  • 写回答

1条回答

  • nanjun520 2016-07-01 01:33
    关注

    看你的代码里面 e = new EditText(getContext());
    addedittext[i] = e;
    adds.add(i, addedittext[i].getText().toString()); 你的e都没有赋值Tex吧? 你试一下在你 addEditText函数你们 添加一下
    e.setText("test "+i);
    也就是

    e = new EditText(getContext());
    e.setText("test "+i);
    addedittext[i] = e;
    adds.add(i, addedittext[i].getText().toString());

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 计算二重积分∫∫e^(x+y)dxdy,其中0≤x≤1,0≤y≤1,试分别用复合辛普森公式(取n=4)以及高斯求积公式(取n=4)计算积分 给出matlab程序
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的