-2

当我在 android 上运行此应用程序时出现错误:

错误:->>“不幸的是 exampleapp 已停止”

请帮帮我..当我删除线时:

logoImage.setOnClickListener(this);

没问题,它工作正常.. 我想我在 setOnClickListener() 上犯了一些错误。

谢谢你 !

    package com.hightrax.mrgod;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ImageView;

    public class Main extends Activity implements OnClickListener
    {

    ImageView logoImage;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        logoImage = (ImageView) findViewById(R.drawable.logo);
        logoImage.setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    }
    }
4

3 回答 3

1

findViewById必须有一个资源 ID 参数。你已经添加了一个可绘制的 ID。

如果您的 ImageView 的 ID 为“imageView1”,那么您应该这样做: logoImage = (ImageView) findViewById(R.id.imageView1);

于 2013-01-08T16:39:23.520 回答
0

这:

logoImage = (ImageView) findViewById(R.drawable.logo);

...应该是这样的:

logoImage = (ImageView) findViewById(R.id.logo);

...这也希望您<ImageView />在布局 XML 中有一个 id @+id/logo,类似于:

<ImageView
    android:id="@+id/logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
/>

如果您ImageView没有使用 id @+id/logo,那么只需将R.id.logo上面的内容更改为您选择的任何内容。:-)

TLDR:您正在尝试根据Drawable. 这与您提供的标识符不同ImageView

于 2013-01-08T16:39:01.007 回答
0

改变

logoImage = (ImageView) findViewById(R.drawable.logo);

logoImage = (ImageView) findViewById(R.id.logo);

于 2013-01-08T16:39:44.737 回答