Danke, habs hinbekommen.
Beiträge von legion
-
-
Ok, dann ist hier erstmal die TabActivity Klasse:
Code
Alles anzeigenpackage com.ABC.xyzapp; import com.google.ads.AdRequest; import com.google.ads.AdSize; import com.google.ads.AdView; import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import android.widget.TabHost; import android.widget.TextView; import android.widget.TabHost.TabSpec; import android.util.Log; public class ATab extends TabActivity { private static final String TAG = ATab.class.getSimpleName(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final TabHost tabHost = getTabHost(); Log.i(TAG, "tab"); LayoutInflater.from(this).inflate(R.layout.vtab, tabHost.getTabContentView(), true); //erster Tab TabSpec ts1 = tabHost.newTabSpec("tab-1"); ts1.setIndicator(getString(R.string.vt_11),getResources().getDrawable(R.drawable.v11)); Intent intent = new Intent(this, V11.class); ts1.setContent(intent); tabHost.addTab(ts1); //zweiter Tab TabSpec ts2 = tabHost.newTabSpec("tab-2"); ts2.setIndicator(getString(R.string.vt_12), getResources().getDrawable(R.drawable.v12)); Intent intent2 = new Intent(this, V12.class); ts2.setContent(intent2); tabHost.addTab(ts2); //dritter Tab TabSpec ts3 = tabHost.newTabSpec("tab-3"); ts3.setIndicator(getString(R.string.vt_13), getResources().getDrawable(R.drawable.v13)); Intent intent3 = new Intent(this, V13.class); ts3.setContent(intent3); tabHost.addTab(ts3); //vierter Tab TabSpec ts4 = tabHost.newTabSpec("tab-4"); ts4.setIndicator(getString(R.string.aktualisieren), getResources().getDrawable(R.drawable.vp)); Intent intent4 = new Intent(this, VA.class); ts4.setContent(intent4); tabHost.addTab(ts4); } }
Die vtab.xml dazu:Code<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll1" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > </LinearLayout>
Und hier eine der Klassen die in der TabActivity angezeigt werden. Sie sind alle gleich, nur die Namen unterscheiden sich.
Code
Alles anzeigenpackage com.ABC.xyzapp; import com.google.ads.AdRequest; import com.google.ads.AdSize; import com.google.ads.AdView; import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.util.Log; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; public class V11 extends ListActivity { //TAG private static final String TAG = V11.class.getSimpleName(); // Schnittstelle zur Datenbank private DatenbankHandler11 dbHandler; // wird für die Listenansicht benötigt private Cursor dbCursor; // bildet den Cursor auf die ListView ab private V11Adapter listAdapter; //private static final String TAG = V11.class.getSimpleName(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "V11 gestartet."); dbHandler = new DatenbankHandler11(this); dbCursor = dbHandler.query(); //Log.i(TAG, "Cursor wurde initiiert"); startManagingCursor(dbCursor); //Log.i(TAG, "startManagingCursor"); listAdapter = new V11Adapter(this, dbCursor); //Log.i(TAG, "listAdapter inintiiert"); setListAdapter(listAdapter); //Log.i(TAG, "setListAdapter"); } @Override public void onResume(){ super.onResume(); updateList(); } @Override public void onDestroy() { super.onDestroy(); //Log.i(TAG, "onDestroy()"); dbHandler.close(); } public void updateList() { // zunächst Cursor, dann Liste aktualisieren //Log.i(TAG, "updateList gestartet"); dbCursor.requery(); listAdapter.notifyDataSetChanged(); } }
Der Adapter dazu:
Code
Alles anzeigenpublic class V11Adapter extends CursorAdapter { //private static final String TAG = V11Adapter.class.getSimpleName(); private LayoutInflater inflator; private int s; String TAG = "Adapter11"; public Vertretungsplan11Adapter(Context context, Cursor c) { super(context, c); inflator = LayoutInflater.from(context); s = c.getCount(); } @Override public void bindView(View view, Context context, Cursor cursor) { TextView textview1 = (TextView) view.findViewById(R.id.textView3); TextView textview2 = (TextView) view.findViewById(R.id.textView2); TextView textview3 = (TextView) view.findViewById(R.id.textView4); TextView textview4 = (TextView) view.findViewById(R.id.textView1); TextView textview5 = (TextView) view.findViewById(R.id.textView5); TextView textview6 = (TextView) view.findViewById(R.id.textView6); TextView textview7 = (TextView) view.findViewById(R.id.textView7); TextView textview8 = (TextView) view.findViewById(R.id.textView8); TextView textview9 = (TextView) view.findViewById(R.id.textView9); textview1.setText(cursor.getString(1)); textview2.setText(cursor.getString(2)); textview3.setText(cursor.getString(3)); textview4.setText(cursor.getString(4)); textview5.setText(cursor.getString(5)); textview6.setText(cursor.getString(6)); textview7.setText(cursor.getString(7)); textview8.setText(cursor.getString(8)); textview9.setText(cursor.getString(9)); cursor.moveToNext(); } @Override public View newView(Context context, Cursor cursor, ViewGroup parent){ //Log.i(TAG, "newView"); return inflator.inflate(R.layout.vxml, null); } }
Und die vxml.xml dazu:
Code
Alles anzeigen<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/vp_RelativeLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/black" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:textAppearance="?android:attr/textAppearanceLarge" android:textSize="36sp" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginLeft="14dp" android:layout_toRightOf="@+id/textView1" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginLeft="27dp" android:layout_toRightOf="@+id/textView2" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_alignLeft="@+id/textView2" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView4" android:layout_alignBottom="@+id/textView4" android:layout_toRightOf="@+id/textView3" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView4" android:layout_below="@+id/textView1" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView6" android:layout_alignLeft="@+id/textView5" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView6" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView8" android:textAppearance="?android:attr/textAppearanceSmall" /> </RelativeLayout>
Nur nochmal das ihr es nicht nachlesen müsst:
Ich versuche das Banner am unteren Rand anzuzeigen. Gerne auch so, dass es unter dem letzten Liisteneintrag erzeugt wird, daher es muss nicht am unteren rand fixiert sein. Dann verdeckt es evtl einen Eintrag. Aber ich will auch nicht, dass das Banner in jedem Listeneintrag gezeigt wird...
Ich hoffe das macht euch nicht zu viel Arbeit, ich habe das vor einiger Zeit mal so in einer App gesehen, an deren Name ich mich leider nicht mehr erinnere, und versuche das nachzustellen. Wenn es zu viel Aufwand ist, dann lasst es. Das Banner erzeuge ich wie hier beschrieben. -
Danke, die Tipps waren alle hilfreich. Ich habe es jetzt auf meinen "normalen" Seiten mit einem RelativeLayout und einem Frame in welchem ich das Banner erzeuge geschafft. Ich weiß nämlich nicht wie ich dem adView innerhalb des Programmcodes sage, das es an den Rand unten soll. Aber so klappt es auch wunderbar.
Das mit dem weight kannte ich noch nicht, werde ich mir mal genauer anschauen.
Nur mein Problem bei der TabActivity mit dem ListActivitys habe ich noch nicht lösen können. Gibt es eine Möglichkeit das Banner im Vordergrund, über der ListActivity zu halten oder muss ich in jeder ListActivity ein Banner unterbringen? Und falls ja, wie mache ich das? Ich will ja nicht das es in jedem Banner der ListActivity erscheint...
-
Hallo Leute,
ich bin neue hier, genau so wie ich neu in der Entwicklung von Apps bin. Daher schätze ich, dass hier richtig bin.
Ich bin am herum experimentieren und nun auf ein Problem gestoßen, zu dem ich auch nach langer Suche noch nichts gefunden habe:
Ich versuche momentan zu lernen wie man ein AdMob-Banner richtig einfügt und folgte dabei dem hier beschrieben Weg.
Das funktioniert auch, wenn ich einfach nur ein simples LinearLayout habe.
Und hier kommt mein erstes Problem: Wenn ich der Anleitung folge, wird das Banner unter dem obersten GUI-Element erzeugt, ich hätte es aber gerne am unteren Bildschirmrand fixiert. Wie schaffe ich das?Auch wenn ich mit der grafischen Übersicht arbeite, kann ich mich nicht "frei" bewegen. Gibt es eine Möglichkeit den Bereich "freizuschalten"?
Im Netz fand ich den Hinweis, man solle es mit "android:layout_alignParentBottom="true" versuchen, aber das brachte leider auch nichts.
Mein zweites Problem betrifft immer noch das Banner:
Ich würde es gerne am unteren Rand einer TabActivity anzeigen nur da kommt neben dem obigen Problem dazu, dass die angezeigten ListActivitys darüber liegen. Wie bekomme ich diese in den Vordergrund? Oder muss ich sie jeweils in die ListActivty einfügen? Und falls ja, wie funktioniert das?
Ich denke da müsste man die Banner in der XML definieren aber das einzige Beispiel was ich dazu fand hat in der XML immer Fehler verursacht...
Kann mir dabei jemand helfen?