Я использую ViewSwitcher
для переключения между двумя представлениями (как и предполагалось).
Вот код ViewSwitcher
:
final ViewSwitcher viewSwitcher = new ViewSwitcher(getApplicationContext());
TextView t = new TextView(this);
[...]
t.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
viewSwitcher.showNext();
}
});
viewSwitcher.addView(t,
new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT, 1f));
final String key = (String)map.keySet().toArray()[n];
if(key.contains("EditText"))
{
EditText e = new EditText(this);
[...]
e.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
viewSwitcher.showPrevious();
return true;
}
});
viewSwitcher.addView(e,
new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT, 1f));
}
else if (key.contains("Spinner"))
{
Spinner spin = new Spinner(getApplicationContext());
[...]
spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if(adapterView.getSelectedItemPosition() == 0)
viewSwitcher.showPrevious();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
viewSwitcher.addView(spin,
new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT, 1f));
}
Дело в том, что я пытался поместить ViewSwitcher в список, чтобы потом получить значения.
(Как это работало раньше, когда я использовал только EditText), но на самом деле это не работает, потому что я не могу получить значения того, что написано в представлениях ViewSwitcher
.
Итак, вот мой вопрос: Знаете ли вы, как получить значение представления, которое в данный момент выбрано в ViewSwitcher, чтобы я мог добавить его в список, чтобы использовать его позже?
Заранее спасибо.