我正在android studio中创建一个项目。我的目标是:当我单击“加载”按钮时,我希望edittextName
+ edittextPhone
字符串中的数据重新调用以前保存的数据,并在应用程序关闭并重新打开后偿还。>
当我尝试运行我的项目时,出现错误消息“ 找到数组,需要字符串”
我相信我所要做的就是将[]
更改为get()
命令,但是不知道使用正确的语法。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_favourite);
editTextName = (EditText) findViewById(R.id.nameText);
editTextPhone = (EditText) findViewById(R.id.phoneText);
file = new File(this.getFilesDir(), FILE_NAME);
}
public void save(View v) {
String data = editTextName.getText().toString() + "|" + editTextPhone.getText().toString();
try {
outputStream = new FileOutputStream(file);
outputStream.write(data.getBytes());
outputStream.close();
Toast.makeText(this, "Your Barcrawl has been saved!", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
}
public void load(View v) {
int length = (int) file.length();
byte[] bytes = new byte[length];
try {
inputStream = new FileInputStream(file);
inputStream.read(bytes);
inputStream.close();
String data = new String(bytes);
editTextName.setText(data.split("\\|"[0])); // << problem
editTextPhone.setText(data.split("\\|"[1])); // << problem
Toast.makeText(getBaseContext(), "data loaded", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
我是android studio的新手,已经被困了一段时间,请帮忙。
答案 0 :(得分:0)
data.split("\\|")
返回String[]
,您可以将其更改为:
editTextName.setText(data.split("\\|")[0]);
editTextPhone.setText(data.split("\\|")[1]);