因此,基本上,我是在空闲时间学习一些Java和android编程,并且想编写基于onTouch事件更改图像位置的应用程序,但是它崩溃了,我不知道为什么。
Java代码:
package com.FF.HLW;
import android.*;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
public class MainActivity extends Activity {
ImageView irisJ;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView irisJ = (ImageView)findViewById(R.id.Iris);
}
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction()== MotionEvent.ACTION_UP){
String coords = "X: "+ event.getX()+ " Y: "+event.getY();
Toast.makeText(this, coords,Toast.LENGTH_SHORT).show();
//RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
//params1.setMargins(Math.round(event.getX()), Math.round(event.getY()) ,0 ,0);
//irisJ.setLayoutParams(params1);
}
return super.onTouchEvent(event);
}
}
Xml只有一个ViewImage:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/Iris"
android:layout_width="150dp"
android:layout_height="150dp"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher"/>
</RelativeLayout>
当我在Toast行之后删除//时,应用程序崩溃。 怎么了?
答案 0 :(得分:0)
好的,我设法让它自己工作。当我在onCreate中选择irisJ id时,从ine中删除了ImageView,它现在可以工作。