gpt4 book ai didi

java - 尝试在不导入的情况下获取 View 类方法

转载 作者:行者123 更新时间:2023-11-30 00:06:10 24 4
gpt4 key购买 nike

我遇到了一个问题,我已经尝试解决了大约一个星期。我正在尝试使用 View 类中的 onDraw 方法。问题是,在我的 Java 类中,我已经导入了一些东西,但我不知道如何获取 View 类方法,因为 Java dosent 允许扩展多个类。我一直在查看其他帖子,并尝试了那里的解决方案,但在我的 senario 中,几乎所有解决方案都不起作用。任何其他解决方案?

Java 类:

import android.graphics.Canvas;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity /*Cant get rid of this import*/ {
//Cant import View because something is already imported
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tw = findViewById(R.id.text2);
//Tried using View.onDraw(canvas), gives me error
}
//Will not work
@Override
public void onDraw(Canvas canvas){
super.onDraw(canvas);
}


}

最佳答案

如果你喜欢,请看看并接受建议:)

/**
* Created by Prafulla Malviya on 2/25/2018.
* Time : 2.38 AM India
*/
public class DemoActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyView(this));
//init();
//initView();
}
}


package com.abhaya_foundation.abhayango;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

/**
* Created by Prafulla Malviya on 2/25/2018.
* Time : 2.38 AM India
*/

public class MyView extends View {
private Paint paint;

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

// create the Paint and set its color
paint = new Paint();
paint.setColor(Color.GRAY);
}

@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLUE);
canvas.drawCircle(200, 200, 100, paint);
}

}

或者你可以添加

 <FrameLayout
android:orientation="vertical"
android:id="@+id/view_1"
android:layout_width="match_parent"
android:layout_height="match_parent">

</FrameLayout>

在您的 Activity xml 中并将 MyView 的实例传递给它们。

MyView myView = new MyView(this);
FrameLayout view = (FrameLayout)findViewById(R.id.view_1);
view.addView(myView);

关于java - 尝试在不导入的情况下获取 View 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48967424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com