2011-07-07 17 views
0

這裏是代碼: public class beautiful extend活動{ImageView radar =(ImageView)findViewById(R.id.radar);爲什麼此代碼產生「對不起!應用程序意外停止,請重試。」問題?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.beautiful); 

    Button search = (Button) findViewById(R.id.magnifier); 
    ImageView text = (ImageView) findViewById(R.id.text); 
    MediaPlayer siren = MediaPlayer.create(this, R.raw.siren); 

    search.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Thread counter = new Thread(new Runnable(){ 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
        try{ 
         Thread.sleep(2000); 
         radar.setImageResource(R.drawable.radar_new_full); 
         Thread.sleep(3000); 
         radar.setImageResource(R.drawable.radar_new_50); 
         Thread.sleep(2000); 
         radar.setImageResource(R.drawable.radar_new_found); 
        } catch (InterruptedException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 
        finally{ 

        } 
       } 

      }); 
      counter.start(); 
     } 
    }); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // TODO Auto-generated method stub 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onMenuItemSelected(int featureId, MenuItem item) { 
    // TODO Auto-generated method stub 
    switch(item.getItemId()){ 
    case R.id.new_search: 
     startActivity(new Intent("com.zwiebel.MENU")); 

    } 
    return super.onMenuItemSelected(featureId, item); 
} 




} 

這裏是佈局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#fccea8"> 

    <Button 
     android:id="@+id/magnifier" 
     android:layout_width="25dp" 
     android:layout_height="25dp" 
     android:layout_gravity="right" 
     android:background="@drawable/searchmagnificer" 
    /> 

    <ImageView 
     android:id="@+id/radar" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:paddingTop="5dp" 
     /> 

    <ImageView 
     android:id="@+id/text" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     /> 
</LinearLayout> 

我還沒有看到代碼中的任何問題,所以我不知道有什麼錯誤。

+0

來吧......添加至少登錄貓輸出。我想如果你看到它,你會回答你的問題。 –

+0

我如何將它複製到這裏? – Zwiebel

+0

我將它們添加到清單文件。 – Zwiebel

回答

6

這很明顯。您正試圖在視圖設置之前查找視圖。

ImageView radar = (ImageView) findViewById(R.id.radar); 

變化,要

ImageView radar; 

,並把

radar = (ImageView) findViewById(R.id.radar); 

下面的setContentView功能

+0

謝謝,我的程序現在可以正常啓動並啓動活動,但現在出現「意外停止」問題,點擊按鈕。 – Zwiebel

+0

這是因爲你正在編輯一個線程中的視圖不是UI線程 – matsjoe

相關問題