Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android edittext无法从只读模式动态获取可编辑内容_Android_Android Edittext_Android Debug - Fatal编程技术网

Android edittext无法从只读模式动态获取可编辑内容

Android edittext无法从只读模式动态获取可编辑内容,android,android-edittext,android-debug,Android,Android Edittext,Android Debug,我尝试在单击按钮后使edittext可编辑。 下面是我的代码片段 单击事件之前: name_value = (EditText) findViewById(R.id.name_value); name_value.setText(DashBoardDisplay_l.getName()); name_value.setFocusable(false); likes_value = (EditText) findViewById(R.id.likes_value); likes_value.s

我尝试在单击按钮后使edittext可编辑。 下面是我的代码片段

单击事件之前:

name_value = (EditText) findViewById(R.id.name_value);
name_value.setText(DashBoardDisplay_l.getName());
name_value.setFocusable(false);


likes_value = (EditText) findViewById(R.id.likes_value);
likes_value.setText(DashBoardDisplay_l.getLikes());
likes_value.setFocusable(false);

calls_value = (EditText) findViewById(R.id.Calls_value);
calls_value.setText(DashBoardDisplay_l.getCalls());
calls_value.setFocusable(false);
android.view.View.OnClickListener enable_listeners = new OnClickListener() {

    @Override
    public void onClick(View v) {

        Log.d("Zumbare","in enable listners");
        Button b = (Button) v;
        if(b.getText().toString().equalsIgnoreCase("edit")){

            Log.d("Zumbare","in edit condition");
            desc.setOnClickListener(show_buttons);
            icon.setOnClickListener(slct_image);
            name_value.setFocusable(true);
            likes_value.setFocusable(true);
            calls_value.setFocusable(true);
            edit.setText("Save");
            name_value.requestFocus();

        }

    }
};
单击事件后:

name_value = (EditText) findViewById(R.id.name_value);
name_value.setText(DashBoardDisplay_l.getName());
name_value.setFocusable(false);


likes_value = (EditText) findViewById(R.id.likes_value);
likes_value.setText(DashBoardDisplay_l.getLikes());
likes_value.setFocusable(false);

calls_value = (EditText) findViewById(R.id.Calls_value);
calls_value.setText(DashBoardDisplay_l.getCalls());
calls_value.setFocusable(false);
android.view.View.OnClickListener enable_listeners = new OnClickListener() {

    @Override
    public void onClick(View v) {

        Log.d("Zumbare","in enable listners");
        Button b = (Button) v;
        if(b.getText().toString().equalsIgnoreCase("edit")){

            Log.d("Zumbare","in edit condition");
            desc.setOnClickListener(show_buttons);
            icon.setOnClickListener(slct_image);
            name_value.setFocusable(true);
            likes_value.setFocusable(true);
            calls_value.setFocusable(true);
            edit.setText("Save");
            name_value.requestFocus();

        }

    }
};
但在按钮点击事件之后,没有焦点出现在name_value edittext上,也不可编辑。
那么,我在这里做什么或者还有什么要做的呢?

您需要使用
setEnabled()

setFocusable()
不会使edittext可编辑。它只会将焦点放在特定的编辑文本上

// make editable
name_value.setEnabled(true);
likes_value.setEnabled(true);
calls_value.setEnabled(true); 

// set focusable
name_value.setFocusable(true);
likes_value.setFocusable(true);
calls_value.setFocusable(true);

//set focus to particular edittext
name_value.requestFocus();

应该在
onClick()
的代码中工作。

它工作了。。但是setenabled方法并不是自动出现的。。我是说在物体上,这很奇怪。我明天去看看。我现在得赶回家了。快乐编码:)