Java 我正在开发meme create应用程序。以编程方式生成文本视图。。我能';无法获取上一个生成的文本视图的文本
我正在开发meme-create应用程序,并以编程方式生成文本视图。若我总是以编程方式生成两个文本视图,那个么我可以得到最后生成的文本视图的文本。我无法获取以前生成的文本视图的文本。如何获取单击“文本视图”时显示的文本 //以编程方式创建TextViewJava 我正在开发meme create应用程序。以编程方式生成文本视图。。我能';无法获取上一个生成的文本视图的文本,java,android,textview,programmatically,Java,Android,Textview,Programmatically,我正在开发meme-create应用程序,并以编程方式生成文本视图。若我总是以编程方式生成两个文本视图,那个么我可以得到最后生成的文本视图的文本。我无法获取以前生成的文本视图的文本。如何获取单击“文本视图”时显示的文本 //以编程方式创建TextView textView = new StickerTextView(MainActivity.this); textView.setText(edt.getText().toString()); textView.setTextSize(1000);
textView = new StickerTextView(MainActivity.this);
textView.setText(edt.getText().toString());
textView.setTextSize(1000);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (popupWindow !=null)
{
popupclose();
}
text = "";
text = textView.getText().toString();
popupwindow(v);
}
});
public void popupwindow(View v) {
FrameLayout fl = (FrameLayout) findViewById(R.id.canvasView);
LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
popupView = layoutInflater.inflate(R.layout.my_action2,null);
popupWindow = new PopupWindow(popupView, RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageButton btnClose = (ImageButton)popupView.findViewById(R.id.imageView_close);
btnClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//popupWindow.dismiss();
popupclose();
}
});
Button btntext = (Button)popupView.findViewById(R.id.btnone);
btntext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showEditDialog1();
}
});
public void showEditDialog1() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this, R.style.MyDialogTheme);
LayoutInflater inflater = this.getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.custom_dialog, null);
dialogBuilder.setView(dialogView);
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
edt1 = (EditText) dialogView.findViewById(R.id.edit1);
edt1.setText(text);
dialogBuilder.setTitle(Html.fromHtml("<font color='#FFFFFF'>EDIT TEXT </font>"));
//dialogBuilder.setMessage("Enter text below");
dialogBuilder.setPositiveButton(Html.fromHtml("<font color='#FFFFFF'>Done</font>"), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Create TextView programmatically.
textView.setText("");
textView.setText(edt1.getText().toString());
textView.setTextSize(1000);
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
return false;
}
});
textView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent me) {
if (me.getAction() == MotionEvent.ACTION_DOWN) {
status = START_DRAGGING;
final float x = me.getX();
final float y = me.getY();
lastXAxis = x;
lastYAxis = y;
v.setVisibility(View.INVISIBLE);
} else if (me.getAction() == MotionEvent.ACTION_UP) {
status = STOP_DRAGGING;
flag = 0;
v.setVisibility(View.VISIBLE);
} else if (me.getAction() == MotionEvent.ACTION_MOVE) {
if (status == START_DRAGGING) {
flag = 1;
v.setVisibility(View.VISIBLE);
final float x = me.getX();
final float y = me.getY();
final float dx = x - lastXAxis;
final float dy = y - lastYAxis;
xAxis += dx;
yAxis += dy;
v.setX((int) xAxis);
v.setY((int) yAxis);
v.invalidate();
}
}
return false;
}
});
// Add TextView to LinearLayout
if (canvas != null && textView == null) {
canvas.addView(textView);
}
hidekeypad(MainActivity.this);
}
});
textView=新粘贴的textView(MainActivity.this);
setText(edt.getText().toString());
textView.setTextSize(1000);
textView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(popupWindow!=null)
{
弹出关闭();
}
text=“”;
text=textView.getText().toString();
波普温多(v);
}
});
公共空间弹出窗口(视图五){
FrameLayout fl=(FrameLayout)findViewById(R.id.canvasView);
LayoutFlater LayoutFlater=(LayoutFlater)getBaseContext().getSystemService(布局\充气器\服务);
popupView=LayoutFlater.inflate(R.layout.my_action2,null);
popupWindow=新的popupWindow(popupView,RelativeLayout.LayoutParams.WRAP_内容,RelativeLayout.LayoutParams.WRAP_内容);
ImageButton btnClose=(ImageButton)popupView.findViewById(R.id.imageView\u close);
btnClose.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
//popupWindow.disclose();
弹出关闭();
}
});
Button btntext=(Button)popupView.findviewbyd(R.id.btnone);
btntext.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
showEditDialog1();
}
});
公共无效showEditDialog1(){
AlertDialog.Builder dialogBuilder=新建AlertDialog.Builder(此为R.style.MyDialogTheme);
LayoutInflater充气机=this.getLayoutInflater();
最终视图对话框视图=充气机。充气(R.layout.custom_对话框,空);
dialogBuilder.setView(dialogView);
windowManager=(windowManager)getSystemService(窗口服务);
edt1=(EditText)dialogView.findViewById(R.id.edit1);
edt1.setText(文本);
dialogBuilder.setTitle(Html.fromHtml(“编辑文本”));
//dialogBuilder.setMessage(“在下面输入文本”);
dialogBuilder.setPositiveButton(Html.fromHtml(“完成”),new DialogInterface.OnClickListener(){
public void onClick(对话框接口对话框,int whichButton){
//以编程方式创建TextView。
textView.setText(“”);
textView.setText(edt1.getText().toString());
textView.setTextSize(1000);
textView.setOnLongClickListener(新视图.OnLongClickListener(){
@凌驾
仅长按公共布尔值(视图){
返回false;
}
});
textView.setOnTouchListener(新视图.OnTouchListener(){
@凌驾
公共布尔onTouch(视图v,运动事件me){
if(me.getAction()==MotionEvent.ACTION\u向下){
状态=开始拖动;
最终浮点x=me.getX();
最终浮点y=me.getY();
lastXAxis=x;
lastYAxis=y;
v、 设置可见性(视图不可见);
}else if(me.getAction()==MotionEvent.ACTION\u UP){
状态=停止拖动;
flag=0;
v、 设置可见性(View.VISIBLE);
}else if(me.getAction()==MotionEvent.ACTION\u MOVE){
如果(状态==开始拖动){
flag=1;
v、 设置可见性(View.VISIBLE);
最终浮点x=me.getX();
最终浮点y=me.getY();
最终浮点数dx=x-最后的x轴;
最终浮点数dy=y-最后一个轴;
xAxis+=dx;
yAxis+=dy;
v、 setX((int)xAxis);
v、 setY((int)yAxis);
v、 使无效();
}
}
返回false;
}
});
//将文本视图添加到LinearLayout
if(canvas!=null&&textView==null){
canvas.addView(textView);
}
hidekeypad(MainActivity.this);
}
});
您应该从参数(视图v)中获取值,该参数通过onClickLisenter接口的onClick override函数传递。由于您使用的是粘贴文本视图
,因此:
@Override
public void onClick(View v) {
if (popupWindow !=null)
{
popupclose();
}
text = "";
text = ((StickerTextView)v).getText().toString();
popupwindow(v);
}
您每次都在为
TextView
使用相同的实例变量,这将覆盖最后一个。如果我更新previus文本视图的文本正在更新最后生成的文本,您能给我示例codeKhein Htoo吗?b视图请帮助我如果我更新预览文本文本视图正在更新最后生成的文本视图,请帮助我-亲爱的先生,如何更新我从中获取Textview的文本参数(v)是您单击的文本视图,这意味着您可以将其强制转换为文本视图,并使用setText()进行更新。