当我点击编辑按钮时附加在屏幕截图中,然后我想隐藏编辑按钮并显示保存按钮。我怎么能这样做?
我的菜单文件如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/edit_button"
android:icon="@drawable/edit_button"
android:orderInCategory="100"
android:showAsAction="always"
android:title="@string/edit"/>
</menu>
当单击按钮一次时,将图像作为编辑到另一图像时是否可以保存;再次单击按钮时保存为编辑。
答案 0 :(得分:1)
final DatePicker dp2 = (DatePicker) findViewById(R.id.datePick2);
final Button btn2 = (Button) findViewById(R.id.btnDate2);
dp2.setVisibility(View.GONE);
或
dp2.setVisibility(View.INVISIBLE);
btn2.setVisibility(View.GONE);
或
btn2.setVisibility(View.INVISIBLE);
需要时可见:
btn2.setVisibility(View.VISIBLE);
或者您使用Invisible或Gone,但不能同时使用两者!
答案 1 :(得分:1)
试试这个
@Override
public boolean onOptionsItemSelected(MenuItem item){
{
if(editing){
item.setIcon(R.drawable.ic_save);
}else{
item.setIcon(R.drawable.ic_edit);
}
return super.onOptionsItemSelected(menu);
}
答案 2 :(得分:1)
根据您的评论,您需要的不是其他问题。
不相关,但改变
<item
android:id="@+id/edit_button"
到
<item
android:id="@+id/edit_or_save_button"
从名称中你应该知道下一个是什么:
如果您在编辑时按下按钮,那么您将在允许编辑数据的活动中执行操作,但此按钮会将其文本(和操作)更改为保存!
当然,您将分配不同的动作侦听器,它将执行验证并保存动作。
如果你真的想坚持2按钮的想法(非常不同意):
Button edit_button = (Button)findViewById(R.id.edit_button);
Button save_button = (Button)findViewById(R.id.save_button);
...
edit_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edit_button.setVisibility(View.INVISIBLE);
save_button.setVisibility(View.INVISIBLE);
DoEdit(v);
}
});
save_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
save_button.setVisibility(View.INVISIBLE);
edit_button.setVisibility(View.INVISIBLE);
DoValidationAndSave(v);
}
});
我希望它能解决你的问题!
答案 3 :(得分:0)
试试这个,
public boolean checkHide = false
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case EDIT:
if(checkHide){
checkHide=false;
item.setTitle("edit");
// ToDo your function
}
else{
checkHide=true;
item.setTitle("save");
// ToDo your function
}
}