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

애드몹에 대해 질문 있습니다. findViewById(R.id.adView);가 널을 리턴...

0 추천

View에서 상속받은 MyView를 만들고

public class MyActivity extends AppCompatActivity
{
    private class MyView extends View
    {
        ......
    }

   
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        MyView myView = new MyView(this);
        setContentView(myView);

        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        ......
    }
}

대충 이런 식의 코드를 짰습니다. 그런데

        AdRequest adRequest = new AdRequest.Builder().build();

여기서 자꾸 null이 리턴되는군요.

시험삼아서

public class MyActivity extends AppCompatActivity
{
    private class MyView extends View
    {
        ......
    }

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

        AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        ......
    }
}

와 같이 하면 제대로 동작합니다.

 

제 생각으로는 MyView를 사용해서인 것 같은데, MyView를 쓴 상태에서 애드몹을 사용할 수 없을까요?

읽어주셔서 감사합니다.

 

 

chamsol (220 포인트) 님이 2016년 7월 22일 질문

2개의 답변

0 추천

AdView mAdView = (AdView) myView.findViewById(R.id.adView);

 

aucd29 (218,390 포인트) 님이 2016년 7월 22일 답변
답변 감사합니다.
그런데 그렇게 해도 null이 리턴되는 것은 마찬가지네요...

이 문제 관련해서 찾아볼 사이트 같은 것 없을까요? 검색을 해도 모두 기본 ContectView를 사용하는 것만 나와서 말입니다.
0 추천
마이뷰에 adview라는 위젯이 존재 하기는 한가요?

존재 한다면 null이 떨어질리가 없습니다.

xml을 다시한번 살펴 보세요
ThisPlus (46,920 포인트) 님이 2016년 7월 22일 답변
인터넷에서 확인한 대로 activity_main_activity에 추가를 했습니다.

<com.google.android.gms.ads.AdView
        android:id="@+id/adView"
....

이런 식으로 말입니다.

이렇게 추가하면 안되나요?
어떻게 설명을 해야할지 ㅜㅜ
먼저 안드로이드에 대한 지식을 쌓는게 먼저인걸로 사료 됩니다.
...