제목 처럼 하나의 레이아웃에 TextView와 Canvas를 함께 쓰고 싶습니다.

초보라 항상 책을 보면서 꾸역꾸역 코딩하고 있는데....

지금까지 Cnavas 를 생성하고 Bitmap으로 그리기를 할 경우 아래처럼 구현했습니다. 당연히 화면 전체를 이용해서 그림을 그릴 수 밖에 없었습니다.

 @Override
 public void onCreate(Bundle saveInstanceState)
 {
  
  super.onCreate(saveInstanceState);
  setContentView(new CustomView(this));

          private class CustomView extends View
          {
  
                  public CustomView(Context context)
                   {
                    super(context); 
                    }
  
                 @Override
                 protected void onDraw(Canvas canvas)
                {
               }

그런데...아래 그림 처럼 b탭을 눌렸을 경우...DB에 있는 정보를 사용해서 TextView를 작성하고, 저장된 자표를 이용해서 Canvas 공간에 선을 그려야하는데...

Frame Layout 레이아웃을 사용하면 가능한가요???

저는 지금까지 Tab 구현도 각각의 class로 나눠 구현해서 인텐드로 불러오는 식으로 해서...위와 같은 방법을 사용해도 어떻게 꾸억꾸억 할 수 있는데...지금은 사정상...하나의 class에서 서로 다른 5가지 tab의 화면을 구현해야합니다.ㅠㅠ


현재 각각의 5가지 레이아웃은 아래와 같이 inflater를 사용해서 불러오고 있습니다.

      LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
      View layout = inflater.inflate(R.layout.pointcardlistview, (ViewGroup)findViewById(R.id.pointcardlayout));
      frmView.addView(layout);

  

 

왼쪽 그림은 리스트 뷰입니다. 거기에 표기된 1을 클릭하면 오른쪽 화면으로 진행되는데...
1을 클릭하면 아래 표기환  onListItemClick를 호출합니다.

public void onListItemClick(ListView parent, View v, int position, long id) {
     nSelectedIndex = position;
     if(nSelectedTab == B) {
          ????????????
      }
 }

지금까지 현재 저의 상황이였구요. 이제 질문을 드리겠습니다.

1. TextView와 Canvas를 함께 구현할 수 있는 방법은 무엇인지?
   레이아웃 구성은 어떻게 해야하는지...

2. onListItemClick 함수 내에서 레이아웃은 어떻게 호출하고, 값을 연결하는지...

  아래처럼 예전에 구현했던것을 붙여봤는데...안되더라구요.ㅠㅠ

class frmView extends View {
    
    public frmView(Context context){
     super(context);
     setContentView(R.layout.b);
    }
    
    public void onDraw(Canvas canvas){
     
     int line = 50;

     Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        paint.setAntiAlias(true);
        
        paint.setTextSize(45);
        paint.setColor(Color.WHITE);
        canvas.drawText("정보", 160 , 50 , paint);
        
        paint.setTextSize(30);
        canvas.drawText(" 타입 :  ", 8 , line * 2 , paint);
        
        canvas.drawText("이름 :  ", 8 , line * 3 , paint);
           
        canvas.drawText("사  용  자  :  ", 8 , line * 4 , paint);
                         
        canvas.drawText(" 번호 :  ", 8 , line * 6 , paint);
             
    }
    
   }

책만보고 하니...도저히 잘 모르겠습니다.

제가 설명을 잘 했는지 모르겠습니다....제발 저의 고민이 잘 전달되었으면 좋겠습니다.

간단한 예를 들어 설명해주신다면 더욱 감사하겠습니다..이것때문에 너무 걱정입니다.ㅠㅠ