java - 从带参数的类调用类(无法解析符号)

标签 java android class

我对编程还很陌生,所以我的整个想法可能是错误的,但是..

我有两个类,另一个是主类(Main),第二个(DrawingLines)只是普通类。我正在尝试从主类中的 DrawingLines 调用 onDraw 方法。

我做了一些研究,但我发现的只是使用

DrawingLines draw = new DrawingLines ();
draw.onDraw

我认为这应该是这样的,但我只是不知道应该使用哪些参数。您可以在下面的示例中看到我一直尝试使用的参数,但 AndroidStudio 只是给出“无法解析符号”。

主类:

public class Main extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final LinearLayout parent = (LinearLayout) findViewById(R.id.parent);
    final TextView text = (TextView) findViewById(R.id.text);
    parent.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent ev) {
            text.setText("Touch at " + (int)ev.getX() + ", " + (int)ev.getY());
            return true;
        }
    });

}

DrawingLines draw = new DrawingLines(Context context);
draw.onDraw(canvas);

}

绘图线类:

class DrawingLines extends View {

public DrawingLines(Context context) {
    super(context);

}

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    Rect pallo = new Rect();
    pallo.set(0, 0, canvas.getWidth(), canvas.getHeight() / 2);

    Paint blue = new Paint();
    blue.setColor(Color.BLUE);
    blue.setStyle(Paint.Style.FILL);

    canvas.drawRect(pallo, blue);
}
}

最佳答案

您的代码不在方法中:

public class Main extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final LinearLayout parent = (LinearLayout) findViewById(R.id.parent);
        final TextView text = (TextView) findViewById(R.id.text);
        parent.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent ev) {
                text.setText("Touch at " + (int)ev.getX() + ", " + (int)ev.getY());
                return true;
            }
        });

    DrawingLines draw = new DrawingLines(this.getApplicationContext());
    draw.onDraw(canvas);

    }//onCreate

}//class main

关于java - 从带参数的类调用类(无法解析符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45593861/

相关文章:

c++ - 将值插入链表的前面并返回类对象

java - Android 找不到 JSONValue 类

java - 如何编写这个 JPA 查询项?

java - Postgresql SETOF 与 Refcursor

android - 可以下载到内部存储器吗?

java - HttpResponse 使用 android 问题 : execute always causes exception?

java - 无法从 openapi 客户端中的字符串反序列化 `java.time.OffsetDateTime` 类型的值

android - 如何初始化上下文?

PHP - 使用大量参数和默认值初始化对象的最佳方式

java - 检查字符串是否可以解析为另一种 Java 类型