마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

MyView (R.id에러

0 추천
public class MainActivity extends AppCompatActivity {
    private MyView mView;
    private boolean mlsEmboss;
    private boolean mlsBlur;

    private static class MyView extends View {
        private static final int WIDTH = 240;
        private static final int HEIGHT = 240;
        private static Paint mPaint;
        private Bitmap mBitmapDst;
        private Bitmap mBitmapSrc;

        public MyView(Context context) {
            super(context);
            setBackgroundResource(R.drawable.background); // background 바꿀 수도 있음
            mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            //destination bitmap
            mBitmapDst = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888);
            Canvas canvasDst = new Canvas(mBitmapDst);
            mPaint.setColor(Color.argb(255,255,0,0));
            canvasDst.drawOval(new RectF(0,0,WIDTH*3/4, HEIGHT * 3/4),mPaint);
            //source bitmap
            Canvas canvasSrc = new Canvas(mBitmapSrc);
            mPaint.setColor(Color.argb(255,0,255,0));
            canvasSrc.drawRect(WIDTH / 3, HEIGHT / 3, WIDTH, HEIGHT, mPaint);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            Canvas canvasDst = new Canvas(mBitmapDst);              //목적지 비트맵 추가
            canvasDst.drawBitmap(mBitmapDst,0,0,mPaint);   //소시 비트맵 추가

            mPaint.setXfermode(null);
            canvas.drawBitmap(mBitmapDst, 0,0, mPaint); // 전송 모드 기본값 설정 후 출력

        }
    }

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

        ActionBar abar = this.getSupportActionBar();
        abar.show();

        mView = (MyView)findViewById(R.id.suView);
        mView.mRestoreState(savedInstanceState);

        ((Button) findViewById(mView.mGetType())).setTextColor(Color.BLACK);

        Button btnLine = findViewById(R.id.btnLine);
        btnLine.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
            }
        });
    }
}

mView = (MyView)findViewById에서 에러가 나는데 뭐가 문제인지 모르겠습니다. xml에 내부 클래스로 myView도 잘 설정해주었습니다.

 

<xml파일>

<View
        android:id="@+id/suView"
        class="org.techtown.final_project.MainActivity$MyView"
        android:background="@drawable/background"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

 

매력적인수박 (670 포인트) 님이 2020년 12월 10일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...