0

我有两个活动。在我的主要活动中,我正在创建一个启动另一个活动的意图:

Intent intent = new Intent(context, Settings.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

这是应该启动的第二个 Activity 的代码:

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();
        }

    };    
    //-----

}

但是当第二个 Activity 应该启动时,我在该行收到 NullPointerException,我将 Listener 分配给 Button。我试图清理项目以防 R 文件没有正确生成,但它没有解决问题。第二个活动在清单文件中声明:

<activity android:name=".Settings" android:label="@string/app_name"></activity>

我确定这只是某个地方的一个简单的小问题,但我找不到它:(感谢您的帮助!

4

1 回答 1

0

我一直这样做,我将一个活动onCreate方法复制到一个新活动,但忘记更改 .xml 文件中的 XML 文件setContentView

我猜这个活动被称为Settings,但是 XML 被称为help你可能已经做了同样的事情!?

于 2012-08-15T12:59:42.997 回答