2013-03-15 109 views
-3

這是我World_Heritage活動代碼,請幫我guys.it有三個按鈕(下一個,上,第一)和圖像view.if我點擊下一步按鈕圖像應該改變應用程序意外終止,請稍後再試

公共類World_Heritage擴展活動實現View.OnClickListener {

ImageView draw = (ImageView)findViewById(R.id.imageView1); 
int a=0; 
Button butnnext; 

/** Called when the activity is first created. */ 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.worldheritage); 
    Button butnpre = (Button)findViewById(R.id.buttonprevious); 
    butnpre.setOnClickListener(this); 

    Button butnfir = (Button)findViewById(R.id.buttonfirst); 
    butnfir.setOnClickListener(this); 

    butnnext = (Button)findViewById(R.id.buttonnext); 
    butnnext.setOnClickListener(this); 


    // TODO Auto-generated method stub 
} 

public void onClick(View v) 
{ 
    switch(v.getId()) 
    { 
    case R.id.buttonfirst: 
     draw.setImageResource(R.drawable.agra_fort); 
     a=0; 
     break; 

    case R.id.buttonnext: 
     if(a==0) 
     { 
     draw.setImageResource(R.drawable.ajantha_caves); 
     a=1; 
     } 
     else if(a==1) 
     { 
      draw.setImageResource(R.drawable.bhimbetka); 
      a=2; 
     } 
     else if(a==2) 
     { 
      draw.setImageResource(R.drawable.champaner); 
      a=3; 
     } 
     else if(a==3) 
     { 
      draw.setImageResource(R.drawable.chttrabadhi); 
      a=4; 
     } 
     else if(a==4) 
     { 
      draw.setImageResource(R.drawable.church); 
      a=5; 
     } 
     else if(a==5) 
     { 
      draw.setImageResource(R.drawable.elephanta); 
      a=6; 
     } 
     else if(a==6) 
     { 
      draw.setImageResource(R.drawable.ellora_caves); 
      draw.setClickable(false); 
     } 
     break; 
    case R.id.buttonprevious: 
     a--; 
     butnnext.performClick(); 
     break; 
    } 

} 

} 
+0

正如我告訴你在你的prev問題中移動findViewById在setContentView之後的onCreate方法 – 2013-03-15 20:05:20

+1

而不是發佈兩個不完整的問題,你應該在你的上一個問題下點擊[edit]來添加這個新的信息。這樣你就會有一個_complete_問題。 – Sam 2013-03-15 20:09:10

回答

1

變化

ImageView draw = (ImageView)findViewById(R.id.imageView1); 

ImageView draw; 

setContentView(R.layout.worldheritage); 

draw = (ImageView)findViewById(R.id.imageView1); 

這樣做的原因是因爲你的ViewsButtonsImagViews,等等都包含在你的Layout。您layout不存在,直到它充氣使用setCOntentView()inflater因此您Viewsnull

此外,從現在開始,當評論者問你別的張貼代碼/ logcat的/什麼,請改爲編輯創造您的OP一個新的職位。使用後面的「編輯」按鈕

+0

現在按鈕「下一個」和「第一」的工作,但按鈕「以前的」不工作 – arvindjd 2013-03-15 20:13:18

+0

你是什麼意思「不工作」?你會得到錯誤/意外結果/別的嗎?你確定'R.id.buttonprevious'是否正確地在'R.layout.worldheritage'中聲明? – codeMagic 2013-03-15 20:16:38

+0

當我點擊下一步按鈕圖像的變化,但是當我點擊後退按鈕圖像視圖沒有改變。 – arvindjd 2013-03-15 20:26:12

相關問題