Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么我在尝试访问EditText数据时出现空指针异常?_Android - Fatal编程技术网

Android 为什么我在尝试访问EditText数据时出现空指针异常?

Android 为什么我在尝试访问EditText数据时出现空指针异常?,android,Android,我的应用程序有几个编辑文本框,当按下“完成”按钮时,我验证输入并返回活动结果。问题是,当我试图读取数据时,它是空的,我不知道为什么 这是我的密码: public class CreatePlayer extends Activity implements OnItemSelectedListener { private EditText textFirstName; private EditText textLastName; private EditText jerseyNumber; pr

我的应用程序有几个编辑文本框,当按下“完成”按钮时,我验证输入并返回活动结果。问题是,当我试图读取数据时,它是空的,我不知道为什么

这是我的密码:

public class CreatePlayer extends Activity implements OnItemSelectedListener {

private EditText textFirstName;
private EditText textLastName;
private EditText jerseyNumber;
private Spinner spinner;

private int arrayID;

private boolean validFirstName = false;
private boolean validLastName = false;
private boolean validJerseyNumber = false;
private boolean validPosition = false;

private static final String TAG = "CreatePlayer";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.createplayer);

    final EditText textFirstName = (EditText) findViewById(R.id.playername_first_edit);
    EditText textLastName = (EditText) findViewById(R.id.playername_last_edit);
    final EditText jerseyNumber = (EditText) findViewById(R.id.playernum_edit);

    arrayID = getIntent().getExtras().getInt("arrayID");
    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, arrayID, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);

    textFirstName
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE) {

                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_first_name));

                        System.out.println(v.getText());
                        System.out.println(result);
                        Pattern p = Pattern
                                .compile(getString(R.string.regex_first_name));
                        Matcher m = p.matcher(v.getText());
                        Log.v(TAG, "pattern=" + p.toString());
                        Log.v(TAG, "text=" + v.getText());
                        Log.v(TAG, "result=" + result);
                        Log.v(TAG, "find=" + m.find());

                        if (result) {
                            validFirstName = true;
                            //textFirstName = (EditText) v.getText();
                        }

                    }
                    return false;
                }
            });
    textLastName
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE) {
                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_last_name));
                        Pattern p = Pattern
                                .compile(getString(R.string.regex_last_name));
                        Matcher m = p.matcher(v.getText());
                        Log.v(TAG, "pattern=" + p.toString());
                        Log.v(TAG, "text=" + v.getText());
                        Log.v(TAG, "result=" + result);
                        Log.v(TAG, "find=" + m.find());

                        if (result) {
                            validLastName = true;
                        }
                    }
                    return false;
                }
            });
    jerseyNumber
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                @Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE) {

                        Pattern p = Pattern
                                .compile(getString(R.string.regex_jerseynum));
                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_jerseynum));
                        Matcher m = p.matcher(v.getText());
                        Log.v(TAG, "pattern=" + p.toString());
                        Log.v(TAG, "text=" + v.getText());
                        Log.v(TAG, "result=" + result);
                        Log.v(TAG, "find=" + m.find());

                        if (result) {
                            validJerseyNumber = true;
                        }
                    }
                    return false;
                }
            });
}

public void okClicked(View v) {

    PlayerInfo newPlayer;

    if (validFirstName && validLastName && validJerseyNumber
            && validPosition) {
        Log.v(TAG, "JerseyNumber = " + jerseyNumber);
        // jerseyNumber is null???
        int num = Integer.parseInt(jerseyNumber.getText().toString());
        String type = spinner.getSelectedItem().toString();
        Log.v(TAG, "type = " + type);
        String name = textFirstName.getText().toString() + " "
                + textLastName.getText().toString();
        newPlayer = new PlayerInfo(BaseBoard.playerIDCounter, num, type,
                name);
        Intent result = new Intent();
        result.putExtra(getString(R.string.players_create), newPlayer);
        setResult(5, result);
        this.finish();
    } else {
        Toast toast = Toast.makeText(getApplicationContext(),
                "Invalid input. Try something like John Smith, #27, PG",
                Toast.LENGTH_SHORT);
        toast.show();
    }
}

public void cancelClicked(View v) {
    this.setResult(-1, null);
    this.finish();
}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
        long id) {
    validPosition = true;
    System.out.println(parent.getItemAtPosition(pos).toString());
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
公共类CreatePlayer扩展活动实现OnItemSelectedListener{
私有EditText textFirstName;
私有EditText textLastName;
私人编辑号码;
私人纺纱机;
私有内部阵列;
私有布尔值validFirstName=false;
私有布尔值validLastName=false;
私有布尔值validJerseyNumber=false;
私有布尔值validPosition=false;
私有静态最终字符串标记=“CreatePlayer”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.createplayer);
final EditText textFirstName=(EditText)findViewById(R.id.playername\u first\u edit);
EditText textLastName=(EditText)findViewById(R.id.playername\u last\u edit);
最终EditText jerseyNumber=(EditText)findViewById(R.id.playernum_edit);
arrayID=getIntent().getExtras().getInt(“arrayID”);
微调器微调器=(微调器)findViewById(R.id.Spinner);
ArrayAdapter=ArrayAdapter.createFromResource(
这个,arrayID,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(此);
textFirstName
.setOnEditorActionListener(新的EditText.OnEditorActionListener(){
@凌驾
公共布尔onEditorAction(TextView v,int actionId,
关键事件(事件){
if(actionId==EditorInfo.IME\u ACTION\u DONE){
布尔结果=v
.getText()
.toString()
.火柴(
getString(R.string.regex_first_name));
System.out.println(v.getText());
系统输出打印项次(结果);
模式p=模式
.compile(getString(R.string.regex_first_name));
Matcher m=p.Matcher(v.getText());
Log.v(标记,“pattern=“+p.toString());
Log.v(标记“text=“+v.getText());
Log.v(标签“result=“+result”);
Log.v(标记,“find=“+m.find());
如果(结果){
validFirstName=true;
//textFirstName=(EditText)v.getText();
}
}
返回false;
}
});
textLastName
.setOnEditorActionListener(新的EditText.OnEditorActionListener(){
@凌驾
公共布尔onEditorAction(TextView v,int actionId,
关键事件(事件){
if(actionId==EditorInfo.IME\u ACTION\u DONE){
布尔结果=v
.getText()
.toString()
.火柴(
getString(R.string.regex_last_name));
模式p=模式
.compile(getString(R.string.regex_last_name));
Matcher m=p.Matcher(v.getText());
Log.v(标记,“pattern=“+p.toString());
Log.v(标记“text=“+v.getText());
Log.v(标签“result=“+result”);
Log.v(标记,“find=“+m.find());
如果(结果){
validLastName=true;
}
}
返回false;
}
});
球衣号码
.setOnEditorActionListener(新的EditText.OnEditorActionListener(){
@凌驾
公共布尔onEditorAction(TextView v,int actionId,
关键事件(事件){
if(actionId==EditorInfo.IME\u ACTION\u DONE){
模式p=模式
.compile(getString(R.string.regex_jerseynum));
布尔结果=v
.getText()
.toString()
.火柴(
getString(R.string.regex_jerseynum));
Matcher m=p.Matcher(v.getText());
Log.v(标记,“pattern=“+p.toString());
Log.v(标记“text=“+v.getText());
Log.v(标签“result=“+result”);
Log.v(标记,“find=“+m.find());
如果(结果){
validJerseyNumber=true;
}
}
返回false;
}
});
}
已单击的公共视图(视图v){
新玩家;
if(validFirstName&&validLastName&&validJerseyNumber
&&有效位置){
Log.v(标签,“JerseyNumber=“+JerseyNumber”);
//球衣号码为空???
int num=Integer.parseInt(jerseyNumber.getText().toString());
字符串类型=微调器.getSelectedItem().toString();
Log.v(标签,“type=“+type”);
字符串名称=textFirstName.getText().toString()+“”
+text lastname.getText().toString();
newPlayer=newplayerInfo(BaseBoard.playerIDCounter,num,type,
姓名);
意向结果=新意向();
result.putExtra(getString(R.string.players\u create),newPlayer);
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.newcreateplayer);

    textFirstName = (EditText) findViewById(R.id.playername_first_edit);
    textLastName = (EditText) findViewById(R.id.playername_last_edit);
    jerseyNumber = (EditText) findViewById(R.id.playernum_edit);

    arrayID = getIntent().getExtras().getInt("arrayID");
    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, arrayID, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);

    textFirstName
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                //@Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_NEXT) {

                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_first_name));
                        Pattern p = Pattern
                                .compile(getString(R.string.regex_first_name));
                        Matcher m = p.matcher(v.getText());
                        Log.d(TAG, "pattern=" + p.toString());
                        Log.d(TAG, "text=" + v.getText());
                        Log.d(TAG, "result=" + result);
                        Log.d(TAG, "find=" + m.find());

                        if (result) {
                            validFirstName = true;
                        }

                    }
                    return false;
                }
            });
    textLastName
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                //@Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_NEXT) {
                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_last_name));
                        Pattern p = Pattern
                                .compile(getString(R.string.regex_last_name));
                        Matcher m = p.matcher(v.getText());
                        Log.d(TAG, "pattern=" + p.toString());
                        Log.d(TAG, "text=" + v.getText());
                        Log.d(TAG, "result=" + result);
                        Log.d(TAG, "find=" + m.find());

                        if (result) {
                            validLastName = true;
                        }
                    }
                    return false;
                }
            });
    jerseyNumber
            .setOnEditorActionListener(new EditText.OnEditorActionListener() {
                //@Override
                public boolean onEditorAction(TextView v, int actionId,
                        KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_DONE) {

                        Pattern p = Pattern
                                .compile(getString(R.string.regex_jerseynum));
                        boolean result = v
                                .getText()
                                .toString()
                                .matches(
                                        getString(R.string.regex_jerseynum));
                        Matcher m = p.matcher(v.getText());
                        Log.d(TAG, "pattern=" + p.toString());
                        Log.d(TAG, "text=" + v.getText());
                        Log.d(TAG, "result=" + result);
                        Log.d(TAG, "find=" + m.find());

                        if (result) {
                            validJerseyNumber = true;
                        }
                    }
                    return false;
                }
            });
}