onTextChanged,生成的CheckBox被添加到ListView中的同一行

时间:2017-05-01 22:37:29

标签: android listview

因此,如果用户的输入在ListView的EditText中大于6,我想在ListView的同一行中添加一个CheckBox。但是它会不断将它添加到第一行。我觉得这应该是简单的事情,但在搜索其他帖子后我无法弄明白。

另一个问题。获取ListView中每个项目的数据的最佳方法是将其存储在ArrayList中吗?或者从获取所有TextView / Spinner / CheckBox的值方面还有其他什么?

class AnimalDefinition
{
    public Fur Fur;
}

class DogDefinition : AnimalDefinition
{
    public BarkSound Bark;
}

class CatDefinition : AnimalDefinition
{
    public MeowSound Meow;
}

class Animal<TDefinition> where TDefinition : AnimalDefinition
{
    public TDefinition Definition;

    public void Jump()
    {
        Console.WriteLine("Jump.");
    }
}

class Dog : Animal<DogDefinition> 
{
    public Dog(DogDefinition def)
    {
        Definition = def;
    }
}

class Cat : Animal<CatDefinition> 
{
    public Cat(CatDefinition def)
    {
        Definition = def;
    }
}

class Trainer
{
    Animal _animal;

    public Trainer(Animal myAnimal)
    {
        _animal = myAnimal;
    }

    public MakeJump()
    {
        _animal.Jump();
    }

    public Listen()
    {
         // if T is DogDefinition hear barking
         // else if T is CatDefinition hear a meowing, etc
    }
}

1 个答案:

答案 0 :(得分:0)

如果多次找到布局ID(如果您有多个具有相同布局的行就是这种情况),Android将返回它可以找到的第一个匹配项:第1行。

LinearLayout comboViewLayout = (LinearLayout) findViewById(R.id.comboViewLayout);

相反,你应该只在当前行中查找它

LinearLayout comboViewLayout = (LinearLayout) view.findViewById(R.id.comboViewLayout);