0

我有一个列表视图,其中包含根据列表视图中元素的数量动态创建的几个 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());

}

4

1 回答 1

1

我想如果你创建了扩展 BaseAdapter 的类。它在 getView() 方法中渲染列表视图的工作。因此,您可以轻松获取该列表行的位置(getView(int) 参数是您的渲染位置),并且您可以在其中创建动态编辑文本,还可以动态添加按钮设置侦听器。

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

所以在 Addbutton 点击​​你可以创建 Vector 并使用它的方法将输入的元素插入到指定索引处的向量中。

因此,下次渲染新列表时,您可以将此向量用作列表以作为数字数据传递。

希望解释对你有用..

于 2012-06-21T10:22:32.237 回答