Android 显示不同的图像
我正在创建一个应用程序,其中有一个文本框,用于描述图像。触摸时,它将描述图像的位置。在下方,我使用了两个按钮在图像之间导航。对此,我应该怎么做?我不明白那件事 我在另一个类中使用了该图像,然后我称之为该图像,但它不起作用。三天来我一直在这件事上,有人能帮我吗 如果有人认为我在问这个问题,我很抱歉 我的代码如下所示Android 显示不同的图像,android,image,Android,Image,我正在创建一个应用程序,其中有一个文本框,用于描述图像。触摸时,它将描述图像的位置。在下方,我使用了两个按钮在图像之间导航。对此,我应该怎么做?我不明白那件事 我在另一个类中使用了该图像,然后我称之为该图像,但它不起作用。三天来我一直在这件事上,有人能帮我吗 如果有人认为我在问这个问题,我很抱歉 我的代码如下所示 public class FirstImage extends ImageView { float a=0; float b=0; TextView t=
public class FirstImage extends ImageView {
float a=0;
float b=0;
TextView t= (TextView) findViewById(R.id.textView1);
public FirstImage(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public FirstImage(Context context, AttributeSet attrs) {
super(context, attrs);
}
public boolean onTouch(MotionEvent me){
switch(me.getAction()){
case MotionEvent.ACTION_DOWN:
a=me.getX();
b= me.getY();
pageinfo(a,b);
break;
case MotionEvent.ACTION_MOVE:
a=me.getX();
b= me.getY();
pageinfo(a,b);
break;
case MotionEvent.ACTION_UP:
a=me.getX();
b= me.getY();
pageinfo(a,b);
break;
case MotionEvent.ACTION_OUTSIDE:
a=me.getX();
b= me.getY();
pageinfo(a,b);
break;
default: return false;
}
return true;
}
public void pageinfo(float a,float b){
t.setText(Float.toString(a)+"x"+Float.toString(b)+"y");
}
}
我调用了布局文件,如下所示
<com.example.androidtablayout.FirstImage
android:id="@+id/myandroid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/human"
/>
但我不明白为什么它没有在这样的事件中显示任何东西 以下代码(在VideosActivity
课程中,取自链接问题)是问题:
FirstImage i= new FirstImage (this);
它在隐式创建的类构造函数中创建FirstImage实例。但是您不能在活动生命周期的早期生成UI小部件。您也不需要这样做,因为布局充气器将为您的应用程序生成所有UI小部件
因此,只需将代码更改为:
FirstImage i;
这样就可以了
初始化实例变量i
的正确方法已经存在于代码中,即在onCreate()中调用findViewById()
更新:
似乎您希望在触摸图像时调用onTouch
。但是onTouch
不是一种可以重写的超类方法。相反,onTouch
是View.OnTouchListener
接口的方法
要修复它,请将实例注册为侦听器(使用setOnTouchListener
),并声明它以实现View.OnTouchListener
。或者将方法名称更改为OnTouchEvent
(可以重写)。为了更好地理解问题,您应该共享相关代码(活动源、布局)。此外,任何异常的Logcat输出都会有帮助。请遵循此问题,我很难理解您试图实现的目标以及您的困境。你能更好地解释一下你在做什么(代码、截图、文本),你期望会发生什么以及会发生什么吗。与其说“它不工作”,不如告诉我们它是否引发异常、不编译、在用户界面中显示意外元素、冻结等@codo我已经编辑了我的问题,现在你可以看到我希望应用程序如何显示的图像。这是imageview吗?更改资源源?(即setSomethingSomething)如果它也抛出一个异常,那么它是一个不同的异常,或者至少是一个具有不同堆栈跟踪的异常。请发布完整的stracktrace,不要让我们猜测。现在我只是解决了这个问题,但现在当我触摸图像时,它没有显示任何东西。你可以检查我的代码。我在我的问题中编辑了它。