java - 如何从 Edittext 在自定义 ListView 中显示值

标签 java android-listview android-edittext

我有两个 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;
}

最佳答案

检查您的自定义适配器参数

从 Activity 传递值

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

并将其放入适配器

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

检查您的参数数据类型和序列:- 从 Activity 中,您将上下文作为第一个参数传递,而在适配器中,您在最后一个参数中获取它

祝你编码愉快!!!

关于java - 如何从 Edittext 在自定义 ListView 中显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56232732/

相关文章:

android - string.compareTo(string) 在排序时没有产生正确的结果

android - 为什么在 RecyclerView 中滚动时 EditText 中的输入值会交换其位置?

java - 如何在 android 中将 EditText 绘制到 Canvas ?

android - EditText.getText() 是否曾经返回 null?

java - 怎么把边框变成卡通泡泡

android - 许多阵列,一个 ListView ,一个适配器

android - 使用 ArrayList<Object> 填充 ListView

java - 通过不同属性引用同一个表的 Hibernate JOIN FETCH 导致 1+N 查询?

java - LEAK : ByteBuf. release() 在被垃圾收集之前未被调用

java - GWT 客户端 : Java object to json string and vice versa