2013-05-15 156 views
0

我有一個函數在單擊時刪除列表中的條目。將textField轉換爲字符串並將字符串轉換爲textField

entriesView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 

    public boolean onItemLongClick(AdapterView<?> parent, 
    View arg1, int position, long id) { 
     TodoEntry entryToRemove = (TodoEntry) parent 
     .getItemAtPosition(position); 

     ourAdapter.remove(entryToRemove); 

     return true; 
    } 
}); 

我想改變這個功能,條目不會被刪除,但長時間點擊編輯。我想讀取條目的值(我有它在一個數組中,並可以得到字符串與entryToEdit.toString();),並將條目更改爲用戶可以編輯的文本字段。當它被編輯時,文本字段應該再次成爲條目。

+0

嗯再來? –

+0

對不起,如果我解釋太困難。我有一個TodoEntry對象的位置和值,我想在同一個位置創建一個文本字段,而不是帶有條目值的條目。這個文本字段應該是可編輯的。編輯完成後,我想將文本字段轉換回TodoEntry。 – jason

回答

0

要獲得String請嘗試使用toString()方法,或者在您的類中使用get方法返回String並使其具有基本邏輯。要創建EditText

EditText edit = new EditText(); 

然後將其添加到您的視圖,或:

EditText edit = (EditText) findViewById(R.id.your_edit_text_id); 

然後將文本:

edit.setText(YOUR_STRING_HERE); 

如果你正在嘗試設置EditText在在ListView的具體位置,那麼你需要定製Adapter。在自定義適配器類中,您將需要重寫getView方法。通過一些邏輯,您可以適當地顯示EditTextTextView

+0

謝謝,我得到這個目前爲止,但不應該從一開始就顯示EditText,而是在點擊Item時。因此在編輯Entry之前它不應該是可見的。但是如果我在XML中創建一個新的EditText,它將默認顯示。 – jason

0

您可以使用帶有textField的對話框,並在偵聽器中的正面按鈕的操作中使用該值,並使用新數據設置該對象。

希望你明白了。