2012-04-02 15 views
4

Ich hole die Daten von einer Datenbank und ich bin es an eine TextView anhängen. Wenn ich lange auf TextView klicke, möchte ich es in einen EditText konvertieren. Dies ist, wie ich die Daten auf meinem Textview gesetzt:Wie konvertiert man eine TextView zu EditText in Android?

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

Jetzt möchte ich eine setOnLongClickListener definieren, sie in eine EditText zu konvertieren.

text.setOnLongClickListener(new OnLongClickListener() { 

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

edititemname hält, welches Element mit einem langen Klick gedrückt wurde. Ich möchte die gleichen Informationen in den EdiText füllen. Bitte hilf mir.

+1

„ich möchte APPE nd edittext auf der gleichen Seite in editext .. "macht keinen Sinn. Was genau willst du machen? –

+0

Ich möchte Presse Textansicht lange Zeit es konvertiert Edittext und anfügen, welche bearbeiten Text – Vinoth

+0

Verwenden Sie diesen Link, um eine weitere Antwort zu finden. http://StackOverflow.com/a/39375996/4559365 –

Antwort

14

Soweit ich weiß, können Sie nicht zu einem anderen konvertieren. Was Sie können, ist: Lassen Sie eine TextView und eine EditText in XML erstellt werden. EditText ist ausgeblendet, wenn TextView angezeigt wird. Dann auf dem Zuhörer die OnClick können Sie:

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

Die editText Variable kann definiert werden, in dem Sie den Text definieren. Sie müssen die findViewById verwenden.

0

ja man kann, dass eine EditText schaffen direkt hinter dem Textview in langen Druck von Textview hide Textview und zeigt EditExt wie Sie verstecken EditText getan und macht sichtbar Textview

wie Sie unsichtbaren Textview Set EditText Text machen Text Textview

1

ich habe getestet und es funktioniert:

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; 

     } 
    }); 

Behalten sie einfach EditText als android:visibility="gone"

+0

Halten Sie einfach beide in der Nähe, so wird man sich verstecken und andere werden angezeigt – Bhavin

Verwandte Themen