我从数据库中获取数据,然后将其附加到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。请帮帮我。
答案 0 :(得分:16)
据我所知,你无法将一个转换为另一个。你能做的是:在xml中创建一个TextView和一个EditText。显示TextView时隐藏EditText。然后,在onclick的监听器上,您可以:
text.setVisibility(View.GONE);
editText.setVisibility(View.VISIBLE);
editText.setText(edititemname);
可以在定义文本的位置定义editText变量。您必须使用findViewById
。
答案 1 :(得分:2)
我已经过测试,它正在工作:
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"
答案 2 :(得分:0)
是的,你可以在文本视图后面创建一个edittext,长按textView隐藏textView并显示editext,因为你隐藏了edittext并制作了可见的textView
当您将不可见的textview设置edittext文本设置为textview文本时