在同一活动中使用不同的布局
问题描述:
我有一个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)
我解决不了问题。以下是setonListener
和nextonListener
的代码。 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++;
};
你可以提供方法setonListener的代码,问题出在这个方法 – Nermeen 2012-07-11 07:26:39