保存按钮|注意申请

时间:2014-11-21 16:50:48

标签: java android android-resources

我在Button课程中添加editorActivity以保存文字输入时遇到问题,这是Activity我指定查看,编辑和保存注释项目。

该类使用后退按钮(硬件)和应用程序启动器图标将key/value对保存到SharedPreferences对象。我想添加一个Button来做同样的事情。

我在控制台中收到错误说明:

res\layout\activity_note_editor.xml:18: error: Error: No resource found that matches the given name (at 'text' with value '@string/Save').

我不确定这意味着什么。并希望得到一些关于我应该在哪里修复此错误的指导。

这是我到目前为止所做的:

private NoteItem note;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_note_editor);                  // Load custom note edit layout
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);          // Launcher icon becomes an options button = home

    Intent intent = this.getIntent();           // Reference to intent object in first activity
    note = new NoteItem();
    note.setKey(intent.getStringExtra("key"));  // retrieve key and saved in note object
    note.setText(intent.getStringExtra("text"));    // Retrieve text and save in note object

    EditText et = (EditText) findViewById(R.id.noteText);
    et.setText(note.getText());
    et.setSelection(note.getText().length());
}

private void saveAndFinish() {
    EditText et = (EditText) findViewById(R.id.noteText);
    String noteText = et.getText().toString();

    Intent intent = new Intent();
    intent.putExtra("key", note.getKey());      
    intent.putExtra("text", noteText);  
    setResult(RESULT_OK, intent);
    finish();
}

@Override                   // launcher icon sends data back to main activity
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {            
        saveAndFinish();
    }
    return false;                                           
}

@Override                       // device back button sends data back to main activity
public void onBackPressed() {
    saveAndFinish();
}

public void addListenerOnButton(){

    Button button = (Button) findViewById(R.id.save);

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            saveAndFinish();
        }
    });

}
}

1 个答案:

答案 0 :(得分:4)

  

我不确定这意味着什么。

这意味着您的resource中没有标识为“保存”的strings.xml

当您使用@String或@anyAndroidResource时,它会查找相应的文件。因此,@drawable会在drawables文件夹中查找您使用的任何标识符。

values/strings.xml中你应该有像

这样的东西
<string name="Save">Save</string>

Resources Docs

Resources Overview Docs