首先,我想提一下我的问题并不像标题所暗示的那么容易。这是我的问题。基本上我试图将字符串的值设置为字符串数组中随机选择的项。如图所示:
String[] array = getResources().getStringArray(R.array.states);
selected_state = array[new Random().nextInt(array.length)];
按下按钮时,此字符串将插入到我的数据库中。像这样:
long id = database_helper.insertData(selected_state);
它似乎应该可以工作,但不幸的是,它没有。当我尝试插入时,显然selected_state为null。但我的应用程序中的另一个字符串是从editText中提取并以完全相同的方式插入完全正常。以下是我的代码的相关部分:
public class my_class extends Fragment implements View.OnClickListener {
View rootView;
Button bing;
EditText text;
public String selected_state;
public String TEXT;
DatabaseAdapter database_helper;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.my_fragment, container, false);
bing = (Button) rootView.findViewById(R.id.my_btn);
text = (EditText) rootView.findViewById(R.id.my_text_edit);
String[] array = getResources().getStringArray(R.array.states);
selected_state = array[new Random().nextInt(array.length)];
bing.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
send();
}
private void send() {
TEXT = text.getText().toString();
//VALUE HOLDS UP TO HERE
long id = database_helper.insertData(TEXT, selected_state);//NULL!!!!!!
if(id<0){
Toast.makeText(getActivity(), "SHES STUCK", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getActivity(), "SHES IN", Toast.LENGTH_LONG).show();
text.setText("");
}
}
});
return rootView;
}
@Override
public void onClick(View v) {
}
}
谢谢大家!
编辑字符串(或我认为是字符串)的值已经传输到TEXT所在的位置。标记如上