0

我得到了java.lang.runtimeexceptionjava.lang.nullpointexception请帮我处理这段代码。

package co.sds.iitr.bullsandcows;

import android.app.Activity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {

TextView P1Num;
EditText np1;
Button btok;
String n;
int Num;

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

    P1Num = (TextView) findViewById(R.id.tvNum1);
    np1 = (EditText) findViewById(R.id.etNum);
    btok = (Button) findViewById(R.id.btNext);


    btok.setOnClickListener(this);

}

@Override
public void onClick(View v) 
{
    // TODO Auto-generated method stub
    n = np1.getText().toString();
    Num = Integer.valueOf(n);


    Intent in = new Intent("co.sds.iitr.GUESSACTIVITY");
    in.putExtra("Num", Num);
    startActivity(in);

}

此代码的日志猫 http://imgur.com/CgMrFdC&JmHj5fk&iervlj8

4

3 回答 3

1

首先,检查你的包名是否co.sds.iitr.bullsandcowsco.sds.iitr

如果您的包名称是co.sds.iitr.bullsandcows然后更改以下行

Intent in = new Intent("co.sds.iitr.GUESSACTIVITY");

Intent in = new Intent(this,co.sds.iitr.bullsandcows.GUESSACTIVITY.class);

别的,

更改以下行

Intent in = new Intent("co.sds.iitr.GUESSACTIVITY");

Intent in = new Intent(this,co.sds.iitr.GUESSACTIVITY.class);

在你的代码中。

并且还要检查你是否已经GUESSACTIVITY在你的manifest.

最后不要故意硬编码你的类名。

于 2013-10-12T08:52:45.957 回答
0

您可能会忘记co.sds.iitr.GuessActivity在清单文件中注册您的,并确保在启动活动时直接明确指定名称,确保活动名称区分大小写。

于 2013-10-12T08:46:45.843 回答
0

问题似乎出在GuessActivity代码内部,您需要在问题中发布。无论如何,您应该考虑开始这样的新意图。-

Intent in = new Intent(this, GuessActivity.class);

硬编码字符串始终是错误的来源。

于 2013-10-12T08:52:07.260 回答