Android 从listview中动态创建的编辑文本框中获取输入值

Android 从listview中动态创建的编辑文本框中获取输入值,android,arrays,button,android-edittext,clicklistener,Android,Arrays,Button,Android Edittext,Clicklistener,我有一个listview,其中包含根据listview中元素的数量动态创建的多个EditText。listview中的项目由来自服务器的数据填充。对于每个编辑文本,同一列表视图中的每一行都有一个“添加”按钮。我想要的是,当用户在这些编辑文本框中输入一些数字并单击“添加”按钮时,输入的数字应该按照单击的顺序存储在某个数组中(第一个输入位于数组的第一个位置)。这些数据用于将来在单独的列表视图中显示输入的数字。在我的代码中,当我在编辑文本框中输入一些数字并单击“添加”时,只有第一次输入有效。在下一次单

我有一个listview,其中包含根据listview中元素的数量动态创建的多个EditText。listview中的项目由来自服务器的数据填充。对于每个编辑文本,同一列表视图中的每一行都有一个“添加”按钮。我想要的是,当用户在这些编辑文本框中输入一些数字并单击“添加”按钮时,输入的数字应该按照单击的顺序存储在某个数组中(第一个输入位于数组的第一个位置)。这些数据用于将来在单独的列表视图中显示输入的数字。在我的代码中,当我在编辑文本框中输入一些数字并单击“添加”时,只有第一次输入有效。在下一次单击中,没有任何效果(此处显示toast)…请帮助..您可以编辑代码。提前感谢。(我想要的是存储所有这些输入,用户选择仅在选定框中输入)


}

我认为如果您创建了扩展BaseAdapter的类。它在getView()方法内呈现列表视图。 因此,您可以很容易地获得列表行的位置(getView(int)参数是渲染的位置),也可以在其中创建和动态添加edittext按钮设置侦听器

现在,您可以通过使用onItemclickListener()获取您单击的行的位置,因为该列表返回用户点击的行的位置

所以,在on Addbutton click中,您可以创建向量,并使用其方法在指定索引处将输入的元素插入向量中

所以,下次渲染新列表时,可以使用此向量作为列表作为数字数据传递


希望解释对您有用。

onClick for addbutton是在xml文件中指定的。。因此,当单击任何添加按钮时,addcart()是要执行的。您必须在列表适配器的getView方法中为每个按钮分别执行此操作,并在添加到父级或返回之前编辑文本。我不使用扩展BaseAdapter的类。请说明如何在用户在任意(或全部)中输入数字时显示显示输入数字的toast消息在编辑文本框中,按“添加按钮”,您可以提供代码,说明您的r如何添加按钮以列出和处理侦听器。在上面的代码中,每次调用方法时,您都试图读取相同的edittext,但它的id是相同的,正如您提到的,您动态添加了edittext,因此,您的写作。。。验证代码。。
public void Addcart(View v)
{

try{    final EditText editnum= (EditText) findViewById(R.id.edittext); 

View.OnClickListener handler = new View.OnClickListener(){
    public void onClick(View v) {   
        if(v.getId()==R.id.addbutton)
        { //  switch (v.getId()){
      //  case R.id.addbutton:
            Toast.makeText(getBaseContext(), 
                    "Input: " + editnum.getText().toString(), 
                    Toast.LENGTH_SHORT).show();
           //   break;
        }
    }
};

findViewById(R.id.addbutton).setOnClickListener(handler);
}
catch(Exception e){
    Log.e("Android Edit Text Example", e.toString());