Я пишу приложение для Android, где пользователь может добавлять и удалять поля в интерактивном режиме. Каждое поле, добавляемое пользователем, имеет несколько кнопок и значение, с которым пользователь должен иметь возможность взаимодействовать. Я подумал о создании подкласса для обработки поля, которое я могу добавить, который будет содержать собственный onClickListener, но я не уверен, как это сделать.
Вот некоторый псевдокод, который должен прояснить мое намерение.
Скажите, у меня есть класс, vClass:
public class sClass extends View implements onClickListener{
this.setContextView(R.layout.vClass);//how do I do this in a correct way?
@Override
public void onClick(View v){ //add code here
}
}
и aClass, который является основным классом приложения.
public class aClass extends Activity implements onClickListener{
Button b;
LayoutInflater i;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.b =(Button)this.findViewById(R.id.btn);
b.setOnClickLister(this);
}
@Override
public void onClick(View v){
//this is what I have now to add View
final LinearLayout canvas =(LinearLayout)aClass.this.findViewById(R.id.main);
View cv =this.inflater.inflate(R.layout.counter, canvas, false);
canvas.addView(cv);
}
}
как я могу использовать vClass для добавления элементов в aClass.
Набрав это, я подумал о другом решении.
Если я буду отслеживать идентификаторы всех добавленных представлений (без подкомпонентов), могу ли я сделать что-то подобное:
View vv = findViewById(id);
Button bb = vv.findViewByIf(R.id.xmlId);
где id - это идентификатор, который я назначил для представления, которое я знаю, а xmlId - это строка, которую я указал в файле xml?
Спасибо
Yotam
Для решения прочитайте обсуждение ниже