Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 显示不同的图像_Android_Image - Fatal编程技术网

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,不要让我们猜测。现在我只是解决了这个问题,但现在当我触摸图像时,它没有显示任何东西。你可以检查我的代码。我在我的问题中编辑了它。