因此,如果用户的输入在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
}
}
答案 0 :(得分:0)
如果多次找到布局ID(如果您有多个具有相同布局的行就是这种情况),Android将返回它可以找到的第一个匹配项:第1行。
LinearLayout comboViewLayout = (LinearLayout) findViewById(R.id.comboViewLayout);
相反,你应该只在当前行中查找它
LinearLayout comboViewLayout = (LinearLayout) view.findViewById(R.id.comboViewLayout);