Android 如何实现EditText并使用单个按钮保存已编辑的文本?

Android 如何实现EditText并使用单个按钮保存已编辑的文本?,android,buttonclick,Android,Buttonclick,在按钮上执行onclick Listener private void clickListener(){ edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getActivity(),"Edit is tapped",Toast.LENGTH_SHORT).sh

在按钮上执行onclick Listener

private void clickListener(){

    edit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getActivity(),"Edit is tapped",Toast.LENGTH_SHORT).show();
已启用以编辑文本

存储更改的值并在编辑文本中显示

禁用编辑文本

试试这个:

private boolean isEditTextEnabled;

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (isEditTextEnabled) {
                    String text = editText.getText().toString();
                   //save your text
                } else {
                    editText.setEnabled(true);
                    isEditTextEnabled = true;
                }
            }
        });

使每个巡更代码段都成为私有方法:

private void enable() {
    tv_location.setFocusable(true);
    tv_location.setFocusableInTouchMode(true);
    sample.setFocusable(true);
    sample.setFocusableInTouchMode(true);
    edit.setPressed(false);
    edit.setText("Save");
}

private void disable() {
    tv_location.setFocusable(false);
    tv_location.setFocusableInTouchMode(false);
    sample.setFocusableInTouchMode(false);
    sample.setFocusable(false);
}

private void store() {
    final String location_txt = tv_location.getText().toString();
    tv_location.setText(location_txt);
    final String sample_text = sample.getText().toString();
    sample.setText(sample_text);
}
这是你的听众:

    edit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (sample.isEnabled()) {
                if (!sample.getText().toString().trim().isEmpty()) {
                    store();
                    disable();
                }
            } else {
                enable();
            }
        }
    });

我不明白,请详细说明你的问题。我有一个按钮,它应该像被点击时一样工作。它启用“编辑文本”字段,允许用户编辑文本,当文本更改时,用户应能够仅使用此按钮保存更改的文本。
private boolean isEditTextEnabled;

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (isEditTextEnabled) {
                    String text = editText.getText().toString();
                   //save your text
                } else {
                    editText.setEnabled(true);
                    isEditTextEnabled = true;
                }
            }
        });
private void enable() {
    tv_location.setFocusable(true);
    tv_location.setFocusableInTouchMode(true);
    sample.setFocusable(true);
    sample.setFocusableInTouchMode(true);
    edit.setPressed(false);
    edit.setText("Save");
}

private void disable() {
    tv_location.setFocusable(false);
    tv_location.setFocusableInTouchMode(false);
    sample.setFocusableInTouchMode(false);
    sample.setFocusable(false);
}

private void store() {
    final String location_txt = tv_location.getText().toString();
    tv_location.setText(location_txt);
    final String sample_text = sample.getText().toString();
    sample.setText(sample_text);
}
    edit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (sample.isEnabled()) {
                if (!sample.getText().toString().trim().isEmpty()) {
                    store();
                    disable();
                }
            } else {
                enable();
            }
        }
    });