空指针更改活动时的例外情况

时间:2013-11-29 07:20:22

标签: android

嗨,当我点击一个更改活动的选项按钮时,我得到一个空指针异常是按钮代码

 options.setOnClickListener(new View.OnClickListener() 
                {

                    @Override
                    public void onClick(View arg0) 
                    {
                        Intent i = new Intent(Main_Timer_Activity.this,Options_Activity.class);
                        startActivity(i);
                        finish();
                    }
                });

我只对选项活动

有一个初始化方法
 private void initialise()
    {
        minutes = (EditText)findViewById(R.id.edtMin);
        seconds = (EditText)findViewById(R.id.edtSec);
        coffeeS = (Spinner)findViewById(R.id.spinCOF);
        save = (Button)findViewById(R.id.btnSave);
        ArrayAdapter<String>adapter = new ArrayAdapter<String>
                (Options_Activity.this,android.R.layout.simple_spinner_item,coffee);
        coffeeS.setAdapter(adapter);

    }

以下是“创建时的活动”选项

@Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_options_);
        initialise();

        back.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i = new Intent(Options_Activity.this,Main_Timer_Activity.class);
                startActivity(i);
                finish();

            }
        });

7 个答案:

答案 0 :(得分:1)

初始化您的back Button。应该解决问题

答案 1 :(得分:0)

您是否在清单文件中添加了权限?

 <activity
            android:name=".Main_Timer_Activity"
             />

答案 2 :(得分:0)

coffee方法中的initialise()变量可能为null ..

答案 3 :(得分:0)

检查数组适配器中的咖啡阵列....是否为空???

答案 4 :(得分:0)

初始化按钮,如:

Button back = (Button) findViewById(R.id.getIdOfYourButton);

然后执行点击操作,如:

back.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast toast = Toast.makeText(context, "clicked on backimage ", Toast.LENGTH_SHORT);
                toast.show();
//more code
            }
        });

答案 5 :(得分:0)

由于你还没有发布你的logcat错误,所以不太清楚它的确切原因,但我们可以看到你没有在back函数中初始化initialise()按钮。这样做

private void initialise()
    {
        minutes = (EditText)findViewById(R.id.edtMin);
        seconds = (EditText)findViewById(R.id.edtSec);
        coffeeS = (Spinner)findViewById(R.id.spinCOF);
        save = (Button)findViewById(R.id.btnSave);

        back=(Button)findViewById(R.id.back_button_id);

        ArrayAdapter<String>adapter = new ArrayAdapter<String>
                (Options_Activity.this,android.R.layout.simple_spinner_item,coffee);
        coffeeS.setAdapter(adapter);

    }

并在manifest.xml文件中输入此活动,即

 <activity android:name="Options_Activity"/>

答案 6 :(得分:0)

由于错误打印ID导致空指针异常。在您的情况下,您忘记初始化后退按钮。初始化后退按钮。