我在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
}
}
答案 0 :(得分:1)
findViewById
必须有一个参数,即资源ID。你添加了一个可绘制的ID。
如果您的ImageView具有ID“imageView1”,那么您应该:
logoImage = (ImageView) findViewById(R.id.imageView1);
答案 1 :(得分:0)
此:
logoImage = (ImageView) findViewById(R.drawable.logo);
......应该是这样的:
logoImage = (ImageView) findViewById(R.id.logo);
...还希望您的布局XML中包含<ImageView />
,其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
提供的标识符不同。
答案 2 :(得分:0)
更改
logoImage = (ImageView) findViewById(R.drawable.logo);
要
logoImage = (ImageView) findViewById(R.id.logo);