0

我有一个 ListView,每一行都包含一个 EditText。当我尝试更改 EditText 中的行上的值时,其他一些行的 editText 值会自动更改。

下面是listView和EditText的代码。

       <ListView
            android:id="@+id/ListView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#ffffff"
            android:cacheColorHint="#ffffff"
            android:layout_above="@+id/includeID"
            android:layout_below="@+id/linearlayoutforSubTotal"
            android:visibility="invisible" >
        </ListView>

        <EditText
            android:id="@+id/editTex"
            android:layout_width="60dip"
            android:layout_height="30dip"
            android:textColor="#000000"
            android:textSize="12dip"
            android:inputType="number"
            android:editable="true" >
        </EditText>

下面是我试图获取 EditText 更改值的代码。

item.quantity.setId(position);

item.quantity.setOnFocusChangeListener(new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
    if (!hasFocus){

        final int position = v.getId();

        final EditText Caption = (EditText) v;

        ShoppingCartHelper.cartItems.get(position).qty =  Integer.parseInt(Caption.getText().toString());

         }                          
    }
});

请帮我找到这个问题的解决方案

4

1 回答 1

0

尝试这样的事情:

editText.addTextChangedListener(new TextWatcher() {
  public void afterTextChanged(Editable s) {
    // Set the value of the field to s.toString();
  }

  public void onTextChanged(CharSequence s, int start, int before, int count) {
    // Do nothing.
  }

  public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    // Do nothing.
  }
});
于 2013-02-04T13:08:20.933 回答