Как конвертировать TextView в EditText в Android? - PullRequest
7 голосов
/ 02 апреля 2012

Я получаю данные из базы данных и добавляю их в TextView. Когда я долго нажимаю на TextView, я хочу преобразовать его в EditText. Вот как я устанавливаю данные в моем TextView:

TextView text = (TextView) vi.findViewById(R.id.menutext);
text.setText(itemnames[position]);//comes from database append to text view

Теперь я хочу определить setOnLongClickListener, чтобы преобразовать его в EditText.

text.setOnLongClickListener(new OnLongClickListener() {

    public boolean onLongClick(View v) {                
        String edititemname=itemnames[position];
        System.out.println(edititemname);
        return true;                
    }
});

edititemname содержит информацию о том, какой элемент был нажат при длительном щелчке. Я хочу заполнить ту же информацию в EdiText. Пожалуйста, помогите мне.

Ответы [ 3 ]

17 голосов
/ 02 апреля 2012

Насколько я знаю, вы не можете преобразовать одно в другое.То, что вы можете: иметь TextView и EditText, созданные в XML.EditText скрыт, когда TextView показывает.Затем на слушателе onCLick вы можете:

text.setVisibility(View.GONE); 
editText.setVisibility(View.VISIBLE);
editText.setText(edititemname);

Переменная editText может быть определена там, где вы определяете текст.Вы должны использовать findViewById.

2 голосов
/ 02 апреля 2012

Я протестировал, и он работает:

    final EditText et=(EditText)findViewById(R.id.editText1);
    final TextView tv=(TextView)findViewById(R.id.txt);


    tv.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            tv.setVisibility(4);
            final EditText et2=(EditText)findViewById(R.id.editText2);
            et2.setVisibility(1);                       
            return false;

        }
    });

Просто сохраните EditText как android:visibility="gone"

1 голос
/ 02 апреля 2012

да, вы можете для этого создать текст редактирования сразу за просмотром текста при длительном нажатии textView скрыть textView и показать editext, как вы это сделали, скрыть edittext и сделать видимым textView

, когда вы делаете невидимый просмотр текста set edittext text to textviewтекст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...