Java androidx.constraintlayout.widget.constraintlayout$LayoutParams不能强制转换为android.widget.RelativeLayout$LayoutParams

Java androidx.constraintlayout.widget.constraintlayout$LayoutParams不能强制转换为android.widget.RelativeLayout$LayoutParams,java,android,classcastexception,Java,Android,Classcastexception,我是Android Studio的新手,我只想拖动一个文本视图。但是,当我尝试获取RelativeLayout的LayoutParams时,我会得到一个我不使用的类的ClassCastException(ContrainLayout) 导入androidx.appcompat.app.appcompat活动; 导入android.os.Bundle; 导入android.view.MotionEvent; 导入android.view.view; 导入android.widget.Relativ

我是Android Studio的新手,我只想拖动一个文本视图。但是,当我尝试获取RelativeLayout的LayoutParams时,我会得到一个我不使用的类的ClassCastException(ContrainLayout)

导入androidx.appcompat.app.appcompat活动;
导入android.os.Bundle;
导入android.view.MotionEvent;
导入android.view.view;
导入android.widget.RelativeLayout;
导入android.widget.TextView;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView TextView=findViewById(R.id.TextView);
setOnTouchListener(onTouchListener());
}
private View.OnTouchListener OnTouchListener(){
返回新视图。OnTouchListener(){
@凌驾
公共布尔onTouch(视图、运动事件){
final int x=(int)event.getRawX();
final int y=(int)event.getRawY();

RelativeLayout.LayoutParams params=(RelativeLayout.LayoutParams)视图。getLayoutParams()/我想在activity_main.xml中有ConstraintLayout,其中包含文本视图,因此您应该在java代码中使用ConstraintLayout.LayoutParams。或者您可以在activity_main.xml中将ConstraintLayout更改为RelativeLayout。这取决于您试图实现的
activity_main

布局是什么adro说我的activity_main.XML中有一个ContrainLayout是正确的。我没有意识到ContrainLayout是默认的,我只需要将它更改为relativeLayout。
E/InputEventReceiver: Exception dispatching input event.
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI: java.lang.ClassCastException: androidx.constraintlayout.widget.ConstraintLayout$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
    at com.example.test.MainActivity$1.onTouch(MainActivity.java:28)