Android:OnClickListener抛出NullPointerException
我有两项活动。在我的主要活动中,我创建了开始另一项活动的意图:Android:OnClickListener抛出NullPointerException,android,Android,我有两项活动。在我的主要活动中,我创建了开始另一项活动的意图: Intent intent = new Intent(context, Settings.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); 下面是应该开始的第二个活动的代码: public class Settings extends Activity { Button settingsBack; //S
Intent intent = new Intent(context, Settings.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
下面是应该开始的第二个活动的代码:
public class Settings extends Activity {
Button settingsBack;
//Some other layout resources
final Context context = this; //Creating reference to this Activity Context
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help);
//References to layout resources
settingsBack = (Button) findViewById(R.id.settingsBack);
//...
//-----
//Assigning listeners to Buttons
settingsBack.setOnClickListener(listenerBack);
//-----
}
//Button listeners definitions
final OnClickListener listenerBack = new OnClickListener() {
public void onClick(View v) {
finish();
}
};
//-----
}
但是,当第二个活动应该开始时,我在第行得到一个NullPointerException,我将Listener分配给按钮。我试图清理项目,以防R文件没有正确生成,但它没有解决问题。第二个活动在清单文件中声明:
<activity android:name=".Settings" android:label="@string/app_name"></activity>
我确信这只是某个地方的一个简单的小问题,但我就是找不到:(谢谢你的帮助!我一直在做这件事,我将activities
onCreate
方法复制到一个新的activity,但忘了在setContentView
中更改XML文件
我猜,因为活动名为设置,但XML名为帮助,如果layout.help确实包含settingsBack按钮,并且在调试应用程序时看到settingsBack(按钮),您可能也会这样做!?是null,我看不出任何其他原因导致R文件或类似的问题。可能尝试关闭/刷新/清理项目和/或关闭Eclipse。nandeesh,你刚刚解决了:)我是从另一个已经完成的活动派生此代码的,我完全忘了更改内容视图:)我现在感觉很愚蠢,谢谢!这正是发生在我身上的事情,当nandeesh向我寻求帮助时我意识到。xml代码:)和忘记向清单中添加新活动是我调试时最大的两个错误!为什么要复制onCreate方法?在eclipse中,您可以编写“onc”,然后按ctrl+space,然后按enter,然后生成wupti oncreate方法。:)只有当我打算复制其中的一些内容时,我才会复制它。假设我的新活动执行类似的设置例程。