2013-05-15 201 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的对话框,并在侦听器中的正面按钮的操作中使用该值,并使用新数据设置该对象。

希望你明白了。