gpt4 book ai didi

java - 获取ActionEvent的坐标

转载 作者:行者123 更新时间:2023-12-02 13:30:41 28 4
gpt4 key购买 nike

我遇到了一个小问题。在下面的示例中,第一个 TextView 必须显示 MotionEvent 的类型 - 它工作正常。第二个 TextView 必须显示 MotionEvent 的坐标,但它不起作用。我不知道为什么,但也许这只是一个小错误?有人有想法吗?感谢您的帮助!这是代码:

package de.androidnewcomer.motionevent;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;

import static android.R.attr.x;
import static android.R.attr.y;

public class MainActivity extends AppCompatActivity implements View.OnTouchListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FrameLayout Spielbereich=(FrameLayout)findViewById(R.id.Spielbereich);
Spielbereich.setOnTouchListener(this);
}

@Override
public boolean onTouch(View v, MotionEvent event) {
TextView textView1=(TextView)findViewById(R.id.textView1);
TextView textView2=(TextView)findViewById(R.id.textView2);
TextView textView3=(TextView)findViewById(R.id.textView3);
TextView textView4=(TextView)findViewById(R.id.textView4);
int x1,x2,y1,y2;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
x1 = (int)event.getX();
y1 = (int)event.getY();
textView1.setText("Action Down");
textView2.setText(x1,y1);
return true;
}
case MotionEvent.ACTION_UP: {
x2 = (int)event.getX();
y2 = (int)event.getY();
textView3.setText("Action Up");
textView4.setText(x2,y2);
return true;
}
} return false;
}
}

最佳答案

我认为你使用了setText(...)错误。在 docs你可以看到TextView有以下setText方法:

  • final void setText(int resid)使用字符串资源标识符设置要显示的文本。

  • final void setText(CharSequence text)设置要显示的文本。

  • void setText(CharSequence text, TextView.BufferType type)设置要显示的文本和 TextView.BufferType。

  • final void setText(int resid, TextView.BufferType type)使用字符串资源标识符和 TextView.BufferType 设置要显示的文本。
  • final void setText(char[] text, int start, int len)设置 TextView 显示指定字符数组的指定切片。

您正在尝试使用不受支持的setText(int,int)。你应该做类似的事情 textView2.setText(x1+""+y1);

关于java - 获取ActionEvent的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43198787/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com