无法在Android画布中绘制editText

时间:2015-12-01 22:39:54

标签: java android

我正在尝试将editText框添加到我的android项目中。这个项目几乎完全用Java(几乎没有任何xml)完成,所以我想知道如何用Java完成这个。我当前实现的运行时错误如下:

public class MainMenu extends View{
    EditText editText;

    public MainMenu(Context context) {
        super(context);
        EditText editText = new EditText(context);
        editText.setDrawingCacheEnabled(true);
        editText.setText("My Text");
        editText.setWidth(180);         
        editText.setBackgroundColor(Color.WHITE);
    }
    @Override
    protected void onDraw(Canvas canvas){
        super.onDraw(canvas);
        editText.draw(canvas);
        invalidate();
    }
}

任何人都可以指出错误并可能使用Java提供解决方案吗?

2 个答案:

答案 0 :(得分:1)

    app.directive('myCustomer', function () {

        var controller = ['$scope', function ($scope) {

            $scope.dan = {'name': 'Dan', 'nationality': 'ESP'};
            // scope from here obv...

        }];

        var template = 'Getting attribute value of =getInfo... {{getInfo.name}} from {{getInfo.nationality}}';

        return {
            restrict: 'E',
            controller: controller,
            scope: {
                getInfo: "@info" //<--NOTE THE CHANGE HERE
            },
            template: template
        };
    });     

我认为onDraw方法中的“editText”将为null

EditText editText = new EditText(context);

请在解决后告诉我们

答案 1 :(得分:0)

我认为你应该使用:

EditText text = (EditText) findViewById(R.id.editTextId);

您可以在设计xml文件的右上角找到它。祝你好运!