Tôi có thanh tác vụ hành động hủy và lưu.Bật/Tắt mục menu ActionBar
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/saveButton"
android:showAsAction="always"
android:title="@string/save"
android:visible="true">
</item>
<item android:id="@+id/cancelButton"
android:showAsAction="always"
android:title="@string/cancel"
android:visible="true">
</item>
</menu>
Tôi muốn tắt tính năng lưu menuitem khi hoạt động được bắt đầu.
mã ngành của tôi -
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.add_project);
EditText projectName = (EditText) findViewById(R.id.editTextProjectName);
projectName.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
configureSaveButton(s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {}
@Override
public void afterTextChanged(Editable s) {}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.addprojectmenu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item = (MenuItem) findViewById(R.id.saveButton);
item.setEnabled(false);
return super.onPrepareOptionsMenu(menu);
}
private void configureSaveButton(CharSequence s){
String text = null;
if(s != null){
text = s.toString();
}
if(text != null && text.trim().length() != 0){
}else{
}
}
Vì vậy, những gì tôi đang cố gắng để làm ở đây là, ban đầu khi hoạt động được bắt đầu tiết kiệm mục trình đơn nên bị vô hiệu và khi editext chứa một số văn bản sau đó nó phải được kích hoạt.
Tôi không chắc chắn nên là mã nào trong if else trong phương thức configureSaveButton. Ngoài ra làm thế nào tôi có thể vô hiệu hóa tiết kiệm mục trình đơn ban đầu.
Tôi nhận ngoại lệ con trỏ null trong onPrepareOptionsMenu.
Tôi đang sử dụng android 4,1
hãy thử cách này cách tốt nhất để vô hiệu hóa biểu tượng mục menu http://stackoverflow.com/a/33910273/4449159 –