Я хочу преобразовать TextView в Edit Text и наоборот в случае нажатия кнопки в android. Я не знаю, как этого добиться, пожалуйста, помогите, если кто-нибудь знает решение.Как преобразовать TextView в EditText в android?
С уважением, Rajapandian.K
Я хочу преобразовать TextView в Edit Text и наоборот в случае нажатия кнопки в android. Я не знаю, как этого добиться, пожалуйста, помогите, если кто-нибудь знает решение.Как преобразовать TextView в EditText в android?
С уважением, Rajapandian.K
Может быть, вы можете иметь один из каждого и переключать их видимость. Когда кнопка нажата, возьмите текст видимого, примените его к невидимому, а затем поменяйте видимость.
Вы можете иметь как в своем макете, так и всегда показывать только один из них. Когда значение EditText изменяется, обновите скрытый TextView, чтобы синхронизировать их.
@Rich: Хорошо, вы быстрее :-) –
Я никогда не пробовал, но вы можете (возможно) использовать EditText и установить фон в TextView. Затем onfocus
изменить вы можете просто заменить фон на основе того, что вы хотите видеть в любой момент. Я попытаюсь реализовать его и посмотреть, если он будет работать
Лучше использовать ViewSwitcher
...
<ViewSwitcher
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_switcher"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/clickable_text_view"
android:clickable="true"
android:onClick="TextViewClicked"
android:text="@string/some_value" />
<EditText
android:id="@+id/hidden_edit_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/some_value" />
</ViewSwitcher>
...
Затем вы можете переключить взгляды на
public void TextViewClicked() {
ViewSwitcher switcher = (ViewSwitcher) findViewById(R.id.my_switcher);
switcher.showNext(); //or switcher.showPrevious();
TextView myTV = (TextView) switcher.findViewById(R.id.clickable_text_view);
myTV.setText("value");
}
Я честно думаю, что из все они, этот ответ был лучшим. Это намного проще. Мне интересно. Когда это следует использовать? Я прочитал документ, и он говорит для типа анимационного типа. Но в этом случае имеет смысл использовать его. Так есть ли причина не использовать его в этом случае? – Andy
View switcher работает красиво, и у вас есть возможность легко добавлять анимацию. – Patrick
Приятно, но добавьте лишнее место в объявлении 'switcher' –
То, что я думаю, что лучше всего на самом деле использовать концепцию Framelayout.
Такая, что оригинальная планировка выглядит
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
.
.
.
</Linearlayout>
поместите его в Framelayout, как это.
Здесь LinearLayout проведет весь ваш EditText View. Также не забудьте сделать фон EditText View null.
как этот
<EditText
android:layout_width="fill_parent"
android:layout_height="50dp"
android:id="@+id/editInp"
android:hint="@string/hello_world"
android:background="@null"
android:singleLine="true"
android:inputType="textCapWords"/>
или
<EditText
android:layout_width="fill_parent"
android:layout_height="50dp"
android:id="@+id/editInp"
android:hint="@string/hello_world"
android:background="@android:drawable/transparent"
android:singleLine="true"
android:inputType="textCapWords"/>
@MarvinLabs: +1, он был быстрее;) –