Java Android Studio:ExpandableListView和EditText

Java Android Studio:ExpandableListView和EditText,java,android,android-edittext,expandablelistview,Java,Android,Android Edittext,Expandablelistview,我有一个可扩展的ListView,里面有一个EditText。它工作得很好,但是当我把一个数字放在一行中时,这个数字在另一行中也是可见的。我已经发现了一些关于这个问题的问题(以持有者作为解决方案),但我无法在我的案例中使用它。有人能帮我吗 代码如下: public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, final View

我有一个可扩展的ListView,里面有一个EditText。它工作得很好,但是当我把一个数字放在一行中时,这个数字在另一行中也是可见的。我已经发现了一些关于这个问题的问题(以持有者作为解决方案),但我无法在我的案例中使用它。有人能帮我吗

代码如下:

public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, final ViewGroup parent) {
    View view = convertView;
    if(view == null){
        LayoutInflater inflater = (LayoutInflater)this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.child_lm, parent, false);
    }
    final String childName = (String)getChild(groupPosition, childPosition);
    final TextView childItem = (TextView)view.findViewById(R.id.child_layout);
    childItem.setText(childName);


        einheit1 = data2[childPosition];
        einheit2 = data3[childPosition];
        einheit3 = data4[childPosition];
        einheit4 = data5[childPosition];
        mengenbeschreibung = data6[childPosition];


    final EditText mz= (EditText) view.findViewById(R.id.etMz);
    final String menge=mz.getText().toString();

    Drawable drawable = mz.getBackground(); 
    drawable.setColorFilter(Color.BLACK, PorterDuff.Mode.SRC_ATOP); 
    if(Build.VERSION.SDK_INT > 16) {
        mz.setBackground(drawable); 
    }else{
        mz.setBackgroundDrawable(drawable);  
    }

    TextView eh1=(TextView)view.findViewById(R.id.tv1);
    eh1.setText(einheit1);
    TextView eh2=(TextView)view.findViewById(R.id.tv2);
    eh2.setText(einheit2);
    TextView eh3=(TextView)view.findViewById(R.id.tv3);
    eh3.setText(einheit3);
    TextView eh4=(TextView)view.findViewById(R.id.tv4);
    eh4.setText(einheit4);
    TextView mengenangabe=(TextView)view.findViewById(R.id.tvMengenbeschreibung);
    mengenangabe.setText(mengenbeschreibung);

    final View finalView1 = view;
    mz.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(
                Editable arg0) {
        }
        public void beforeTextChanged(
                CharSequence s, int start,
                int count, int after) {
        }
        public void onTextChanged(
                CharSequence s, int start,
                int before, int count) {
            TextView eh1=(TextView) finalView1.findViewById(R.id.tv1);
            TextView eh2=(TextView)finalView1.findViewById(R.id.tv2);
            TextView eh3=(TextView)finalView1.findViewById(R.id.tv3);
            TextView eh4=(TextView)finalView1.findViewById(R.id.tv4); if(mz.getText().toString().equals(null)||mz.getText().toString().equals("")) {
                }else{
                    double test10= (Math.round(Float.parseFloat(mz.getText().toString().replace(",","."))*Float.parseFloat(data2[childPosition])/100*2));
                    float test1 = (float) (test10/2);
                    eh1.setText(String.valueOf(test1));

                    double test20= (Math.round(Float.parseFloat(mz.getText().toString().replace(",","."))*Float.parseFloat(data3[childPosition])/100*2));
                    float test2 = (float) (test20/2);
                    eh2.setText(String.valueOf(test2));

                    double test30= (Math.round(Float.parseFloat(mz.getText().toString().replace(",","."))*Float.parseFloat(data4[childPosition])/100*2));
                    float test3 = (float) (test30/2);
                    eh3.setText(String.valueOf(test3));

                    double test40= (Math.round(Float.parseFloat(mz.getText().toString().replace(",","."))*Float.parseFloat(data5[childPosition])/100*2));
                    float test4 = (float) (test40/2);
                    eh4.setText(String.valueOf(test4));
                }
    });

    return view;
}

mz.addTextChangedListener应位于MainActivity OnCreate()中。 至少我猜是这样,我没有检查你的代码