2017-06-08 53 views
1

我想在OnCreateMethod中添加Admob Ads的Java代碼。但我的Java類擴展ListActivity。 請告訴我如何在此課程中添加admob廣告。如何在擴展ListActivity的類中添加Admob Ads

如果我在擴展ListActivity的類中添加代碼,它會崩潰應用程序。

請爲我提供一個解決方案。

在此先感謝。

我MainActivity Java代碼

public class MainActivity extends ListActivity 
{ 
    List headlines; 
    List links; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     new MyAsyncTask().execute(); 
    } 

    class MyAsyncTask extends AsyncTask<Object,Void,ArrayAdapter> 
    { 
     @Override 
     protected ArrayAdapter doInBackground(Object[] params) 
     { 
      headlines = new ArrayList(); 
      links = new ArrayList(); 
      try 
      { 
       URL url = new URL("http://feelthesport.blogspot.com/feeds/posts/default?alt=rss"); 
       XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
       factory.setNamespaceAware(false); 
       XmlPullParser xpp = factory.newPullParser(); 

       // We will get the XML from an input stream 
       xpp.setInput(getInputStream(url), "UTF_8"); 
       boolean insideItem = false; 

       // Returns the type of current event: START_TAG, END_TAG, etc.. 
       int eventType = xpp.getEventType(); 
       while (eventType != XmlPullParser.END_DOCUMENT) 
       { 
        if (eventType == XmlPullParser.START_TAG) 
        { 
         if (xpp.getName().equalsIgnoreCase("item")) 
         { 
          insideItem = true; 
         } 
         else if (xpp.getName().equalsIgnoreCase("title")) 
         { 
          if (insideItem) 
           headlines.add(xpp.nextText()); //extract the headline 
         } 
         else if (xpp.getName().equalsIgnoreCase("link")) 
         { 
          if (insideItem) 
           links.add(xpp.nextText()); //extract the link of article 
         } 
        } 
        else if(eventType==XmlPullParser.END_TAG && xpp.getName().equalsIgnoreCase("item")) 
        { 
         insideItem=false; 
        } 
        eventType = xpp.next(); //move to next element 
       } 

      } 
      catch (MalformedURLException e) 
      { 
       e.printStackTrace(); 
      } 
      catch (XmlPullParserException e) 
      { 
       e.printStackTrace(); 
      } 
      catch (IOException e) 
      { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     protected void onPostExecute(ArrayAdapter adapter) 
     { 
      adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, headlines); 
      setListAdapter(adapter); 
     } 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) 
    { 
     Uri uri = Uri.parse((links.get(position)).toString()); 
     Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
     startActivity(intent); 
    } 

    public InputStream getInputStream(URL url) 
    { 
     try 
     { 
      return url.openConnection().getInputStream(); 
     } 
     catch (IOException e) 
     { 
      return null; 
     } 
    } 
} 
+0

請顯示您的代碼崩潰的位置以及您收到的錯誤消息。 – corvairjo

+0

當我打開我的應用程序時它崩潰。我在我的oncreate方法中粘貼了代碼 –

+0

在應用程序崩潰的位置,您是否有調試器的堆棧跟蹤?你是否一行一行地測試你的代碼,看看問題出在哪裏? – corvairjo

回答

0

我是這麼認爲的,而增加ListActivity。 Add AppCompatActivity &利用RecyclerView 爲AdMob添加適配器無論您想要什麼,都可以創建自定義佈局,即使您希望將您的項目與AdMob一起添加,也可能會有所幫助。 一旦添加CustomerAdapterClass,請致電setAdapter()

完成您的視圖將會被佔用。 謝謝。

+0

但appcompatactivity不會在應用程序中顯示Listview? –

+0

我會用AdMob @AmanArya向您展示RecyclerView的示例 –

+0

謝謝,請告訴我。 –

相關問題