我的程序崩溃了,我不知道为什么

My program crashes and I don't know why

我正在学习如何在 Java 中为 Android 编程,但我的程序总是崩溃。它应该从摄氏度转换为华氏度。

package com.example.myapplication;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.widget.RadioGroup.OnCheckedChangeListener;


public class MainActivity extends Activity implements RadioGroup.OnCheckedChangeListener 
{

public static final int MY_CODE=2;
EditText temp;
RadioButton converttoF,converttoC,selectedtype;
RadioGroup conversion;



@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    conversion = (RadioGroup)findViewById(R.id.conversion);
    conversion.setOnCheckedChangeListener(this);
    converttoF = (RadioButton)findViewById(R.id.converttoF);
    converttoC = (RadioButton)findViewById(R.id.converttoC);




}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
    selectedtype = (RadioButton) findViewById(checkedId);

    Intent i = new Intent(this, Activity4Result.class);
    i.putExtra("temper", temp.getText().toString());

    if(selectedtype.equals(converttoC))
    {
        Toast.makeText(this,"C chosen", Toast.LENGTH_SHORT).show();
        i.putExtra("type", 'c');
        startActivityForResult(i, MY_CODE);
    }

    else
    {
        Toast.makeText(this,"F chosen", Toast.LENGTH_SHORT).show();
        i.putExtra("type", 'f');
        startActivityForResult(i, MY_CODE);
    }       
  }       
}

我的猜测是 "onCheckedChanged" 中出现了问题,因为当我按下 RadioButton 时它会崩溃。

我假设(如果你 post 崩溃日志和你的问题会更好,这样我们可以更好地帮助你并停止假设)你是在以下代码中出现 空指针异常

i.putExtra("temper", temp.getText().toString());

在您的代码中您声明了 temp,但它从未被初始化。使用前需要先初始化temp。