getText().toString() 在输入的内容之前添加一些数字

getText().toString() adds some numbers before what is typed

我已经实例化了变量:

  editname = (EditText) findViewById(R.id.editname);

然后单击一个按钮,我想将其放入数据库中:

//CHECK FORM
if (editname.getText().toString().matches("")){
...toast...
return;
}
check_value=editname.getText().toString();
//DATABASE
if (myDB.insertData(editname.getText().toString()){//Insert data
Toast.makeText(..., R.string.data_inserted + check_value, Toast.LENGTH_LONG).show();
}

一旦它在数据库中,我在点击按钮后将其发送到一个片段:

Fragment newFragment = new PreviewFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();


String get_id = Integer.toString(myDB.getId(check_value)); //Get  ID //java.lang.NullPointerException
Bundle bundle = new Bundle();
bundle.putString("id", get_id);
transaction.replace(R.id.fragment1, newFragment);
newFragment.setArguments(bundle);
transaction.commit();

关于片段的实现:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view;
    view = inflater.inflate(R.layout.fragment1, container, false);
    String id;

    try {
        id = getArguments().getString("id");
    }catch (Exception e){
        Toast.makeText(getActivity(), "not found", Toast.LENGTH_LONG).show();
        return view;
    }


    Cursor res = myDB.getValues(id);
    }

在那一行我看到 java.lang.NullPointerException

添加 check_value 后,我可以看到我得到的文本不是我在框中介绍的内容,而是这个:

2131099688(Followed by the text I introduced)

有人知道这是什么原因吗?我已经删除了应用程序并清理了项目,但我仍然得到相同的结果。

这只是您在吐司中放入的结果。

Toast.makeText(..., R.string.data_inserted + check_value, Toast.LENGTH_LONG).show();

check_value前的数字是字符串data_inserted的id。

尝试 getString(R.string.data_inserted) 而不是 id。