Как отобразить значение в Custom Listview из Edittext - PullRequest
1 голос
/ 21 мая 2019

У меня есть два EditText, я хочу получить значение edittext, когда я нажимаю кнопку, и отображать это значение в пользовательском макете. Я включил MainActivity.java и CustomAdapter.java и попробовал его много раз по-разному, но ни один из них не сработал. Пожалуйста, помогите.

MainActivity.java

    add_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String ed_text_1=credit_edt.getText().toString();
            String ed_text_2=gpa_edt.getText().toString();
            double d_value_1=Double.parseDouble(ed_text_1);
            double d_value_2=Double.parseDouble(ed_text_2);
            double result=d_value_1+d_value_2;

            CustomAdapter adapter=new CustomAdapter(MainActivity.this,d_value_1,d_value_2,result);
            listView.setAdapter(adapter);

            credit_edt.setText("");
            gpa_edt.setText("");
        }
    });

CustomAdapter.java

class CustomAdapter extends BaseAdapter {

double str1;
double str2;
double ans;
Context context;
private LayoutInflater inflater;

public CustomAdapter(Context context,double str1, double str2, double ans) {
    this.context = context;
    this.str1 = str1;
    this.str2 = str2;
    this.ans = ans;
}

@Override
public int getCount() {
    return 0;
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if(convertView==null)
    {
        inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView=inflater.inflate(R.layout.output_layout,parent,false);
    }
    TextView txt1=(TextView) convertView.findViewById(R.id.crt_c_id);
    TextView txt2=(TextView) convertView.findViewById(R.id.gp_c_id);
    TextView txt3=(TextView) convertView.findViewById(R.id.tl_c_id);

    String s1=Double.toString(str1);
    String s2=Double.toString(str2);
    String s3=Double.toString(ans);

    txt1.setText(s1);
    txt2.setText(s2);
    txt3.setText(s3);
    return convertView;
}

1 Ответ

1 голос
/ 21 мая 2019

Проверьте ваши аргументы адаптера

Проходное значение из Деятельности

 CustomAdapter adapter=new CustomAdapter(MainActivity.this,d_value_1,d_value_2,result);

И подключите его к адаптеру

 CustomAdapter(double[] str1, double[] str2, double[] ans, Context context)

Проверьте тип данных и последовательность аргументов: - Из действия вы передаете контекст в качестве первого аргумента, а в адаптере вы получаете его в последнем

Счастливое кодирование !!!

...