2012-04-02 86 views
4

我正在從數據庫中獲取數據,並將其附加到TextView。當我長時間點擊TextView時,我想將其轉換爲EditText。 這是我怎麼設置我的TextView數據:如何將TextView轉換爲android中的EditText?

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。請幫幫我。

+1

「我想APPE nd edittext在同一頁到editext ..「沒有任何意義。你到底想做什麼? – 2012-04-02 12:31:23

+0

我想按下textview長時間它轉換edittext並追加編輯文本 – Vinoth 2012-04-02 12:39:23

+0

使用此鏈接找到更多的答案。 http://stackoverflow.com/a/39375996/4559365 – 2016-09-07 17:49:22

回答

14

據我所知,你不能將一個轉換爲另一個。你可以做的是:在XML中創建一個TextView和一個EditText。當TextView顯示時,EditText被隱藏。然後,在聽衆的onCLick上,您可以:

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

editText變量可以定義在哪裏定義文本。你必須使用findViewById

0

是你可以爲創造一個EditText上僅落後於TextView中隱藏的TextView的長按TextView的,並顯示editext爲你做隱藏的EditText做出可見的TextView

爲您做出無形的TextView集的EditText文本TextView的文本

1

我已經測試過,它是工作:

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"

+0

只要保持兩個項目靠近,所以一個會隱藏和其他將顯示 – Bhavin 2012-04-02 12:52:46

相關問題