2012-07-11 4 views
0

두 레이아웃을 사용하는 Activity이 있습니다. 이 두 레이아웃에서는 다른 Buttons이 있습니다. 첫 번째 Layout에서 함수를 두 번째로 호출하면 Layout이 작동합니다. 그러나, 다음번에 Button의 두 번째 방법을 호출하면 Layout 응용 프로그램이 닫힙니다.동일한 활동에서 다른 레이아웃 사용

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

답변

0

오류는 사용자의 setonListener() 방법에있는 것 같습니다. 아마도 당신은 실행하기 전에 무언가를 만들고 있습니다. setonListener 및 81 줄의 중단 점에서 디버그하십시오. 문제가 지속되면 더 많은 코드를 게시하십시오.

+0

setonListener에 대한 코드가 추가되었습니다. – neethu

+0

줄 81은 어디에 있습니까? – 10s

+0

여러분 께 감사드립니다 .. 제가 문제를 해결했습니다 ... 문제가 레이아웃에있었습니다 ... – neethu

관련 문제