2013-01-08 28 views
-2

我得到錯誤,當我在Android上運行此應用程序:安卓:獲取錯誤,當我setOnClickListener()用於logoImage

錯誤: - >> 「不幸的是ExampleApp中已採空」

請幫助我..當我刪除行:

logoImage.setOnClickListener(this); 

沒有problm,其做工精細..我想我做了一些錯誤與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

此:

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不一樣。

+0

非常感謝..這工作。對我來說..再次感謝.. –

1

findViewById必須有一個參數是一個資源ID。你已經添加了一個可繪製的ID。

如果您的ImageView的ID爲 「imageView1」,那麼你應該做的: logoImage = (ImageView) findViewById(R.id.imageView1);

+0

是的正確..當我更改logoImage =(ImageView)findViewById(R.id.ID_NAME)其工作...非常感謝... –

0

變化

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

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

+0

謝謝...你是對的..謝謝你幫助我.. –