2012-07-11 88 views
0

我有一個Activity,其中我使用了兩種佈局。在這兩種佈局中,我有不同的Buttons。從第一個Layout,當我將該函數調用到第二個Layout它的作品。但是,在第2號Layout的下一個Button調用第1號方法的時候,申請部門關閉。在同一活動中使用不同的佈局

這是顯示錯誤代碼:我得到的錯誤,

Button.OnClickListener myOptionOnClickListener1 = new Button.OnClickListener() { 
    public void onClick(View v1) { 
     switch (v1.getId()) { 
      case R.id.next: 
       x++; 
       Toast.makeText(getBaseContext(), "is" + x, Toast.LENGTH_SHORT).show(); 
       setonListener(); 
       break; 
      case R.id.exit: 
       finish(); 
       break; 
     } 
    } 
}; 

// this code properly works. 

Button.OnClickListener myOptionOnClickListener = new Button.OnClickListener() { 
    public void onClick(View v) { 
     if (x < 5) { 
      setonListener(); 
     } else { 
      nextonListener(); 
     } 
    } 
}; 

07-11 12:42:55.001: E/AndroidRuntime(24227): java.lang.NullPointerException 

07-11 12:42:55.001: E/AndroidRuntime(24227): at com.infoways.quizcash.levelnxt.setonListener(levelnxt.java:81) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at com.infoways.quizcash.levelnxt$2.onClick(levelnxt.java:165) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at android.view.View.performClick(View.java:2532) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at android.view.View$PerformClick.run(View.java:9293) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at enter code hereandroid.os.Handler.handleCallback(Handler.java:587) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at android.os.Looper.loop(Looper.java:143) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at android.app.ActivityThread.main(ActivityThread.java:4277) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at java.lang.reflect.Method.invokeNative(Native Method) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at java.lang.reflect.Method.invoke(Method.java:507) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-11 12:42:55.001: E/AndroidRuntime(24227): at dalvik.system.NativeStart.main(Native Method) 

我解決不了問題。以下是setonListenernextonListener的代碼。 setonListener第一次正常工作,但是當我從按鈕調用它時會出現問題。

public void setonListener() 
{ 
    URL = "http://contest_id=100&game_id=1level="+count; 
    //Toast.makeText(getBaseContext(), URL, Toast.LENGTH_SHORT).show(); 
    String xml = parser.getXmlFromUrl(URL); // getting XML 
    Document doc = parser.getDomElement(xml); // getting DOM element 
    final NodeList nl = doc.getElementsByTagName(KEY_QUESTION); 

    // looping through all item nodes <item>s 
    for(int j=0;j<nl.getLength();j++) 
    { 
     Element e = (Element) nl.item(j); 
     listnew[j]=parser.getValue(e,KEY_QUEST); 
     options1[j]= parser.getValue(e, KEY_CHOICE1); 
     options2[j]= parser.getValue(e, KEY_CHOICE2); 
     options3[j]= parser.getValue(e, KEY_CHOICE3); 
    } 

    TextView question = (TextView)findViewById(R.id.question); 
    question.setText(listnew[x]); 

    opt1 = (Button)findViewById(R.id.opt1); 
    opt1.setText(options1[x]); 
    opt1.setOnClickListener(myOptionOnClickListener); 

    opt2 = (Button)findViewById(R.id.opt2); 
    opt2.setText(options2[x]); 
    opt2.setOnClickListener(myOptionOnClickListener); 

    opt3 = (Button)findViewById(R.id.opt3); 
    opt3.setText(options3[x]); 
    opt3.setOnClickListener(myOptionOnClickListener); 

    x++; 
}; 
+0

你可以提供方法setonListener的代碼,問題出在這個方法 – Nermeen 2012-07-11 07:26:39

回答

0

看來這個錯誤在你的setonListener()方法中的某處。也許你在執行之前做了些什麼。調試你的setonListener和第81行的斷點。如果問題仍然存在,請發佈更多的代碼。

+0

我已經添加了setonListener的代碼。 – neethu 2012-07-11 08:43:25

+0

81是哪裏? – 10s 2012-07-11 09:24:53

+0

謝謝你們..我解決了這個問題..問題出現在佈局上... – neethu 2012-07-11 09:32:09

相關問題