Problem mit Tab Layout

  • Antworten:13
Nico R.
  • Forum-Beiträge: 30

18.05.2011, 20:14:33 via Website

Hu,

ich bin ziemlich neu was Android angeht und dachte mir, damit ich es besser kennenlerne mache ich mal ein kleines Projekt. Jedoch scheitere ich schon an der View. Mit XML konnte ich mich irgendwie nie anfreunden.

Ich versuche folgendes:
Mit diesem Tutorial ( http://developer.android.com/resources/tutorials/views/hello-tabwidget.html ) habe ich mir Tabs erstellt. Die funktionieren auch wunderbar. Aber statt einer TextView unterhalb der Tabs hätte ich gerne eine ImageView. Da ich mir noch nicht ganz sicher bin wie ich es wirklich löse müsste evtl. unterhalb der ImageView auch noch ein Button platziert werden.
Es scheitert jedenfalls komplett an der ImageView. Entweder da gibt es etwas zu beachten, was ich nicht weiß, oder ich mache offensichtlich etwas falsch. Code spare ich mir mal hier anzuhängen, ist 1:1 wie im Tutorial.

Jemand vielleicht eine Idee, woran das liegen kann? Bin mittlerweile irgendwie hilflos...

Gruß
Nico

Antworten
Kullorki
  • Forum-Beiträge: 55

18.05.2011, 21:20:20 via Website

dann erstell dir zu jeder deiner activity also wie in deinem beispiel eine xml z.b. AlbumsActivity.xml usw
da ziehst du dir dann ein imageview aus dem baukasten rein änderst die id wie du sie haben willst...
in der albumActivity.class schreibst du dann folgendes bei Oncreate:
1setContentView(R.layout.AlbumActivity);
2ImageView lImage = (ImageView) findViewByID(R.id."die id die du dem imageview gegeben hast");
3lImage."mach mit dem bild was du willst";
fertig

Antworten
Nico R.
  • Forum-Beiträge: 30

19.05.2011, 19:56:51 via Website

Hm, ich scheine noch immer etwas falsch zu machen.
Ich habe also eine artists.xml erstellt:
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent">
6 <ImageView android:src="@drawable/icon"
7 android:id="@+id/imageViewArtists"
8 android:layout_height="wrap_content"
9 android:layout_width="wrap_content">
10 </ImageView>
11</LinearLayout>
Natürlich zusätzlich zur main.xml aus dem Tutorial.
Meine ArtistsActivity habe ich dann wie folgt erweiter:
1public void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3
4 setContentView(R.layout.artists);
5 ImageView myImage = (ImageView) findViewById(R.id.imageViewArtists);
6 try {
7 myImage.setImageDrawable(Drawable.createFromStream((InputStream)new
8 URL("http://www.st-maria-online.de/ane/TKT_neumaier_ane_9c/hawaii.jpg").
9 getContent(), "Bild"));
10 } catch (MalformedURLException e) {
11 e.printStackTrace();
12 } catch (IOException e) {
13 e.printStackTrace();
14 }
15 }
Und so sieht dann das Ergebnis aus: http://666kb.com/i/btmj9ncucxdydelps.jpg
Jemand ne Idee wo mein Denkfehler ist?

greez Nico

— geändert am 19.05.2011, 20:31:21

Antworten
Kullorki
  • Forum-Beiträge: 55

19.05.2011, 20:08:54 via Website

versuch mal erst das bild runterzuladen...
und das bild als File vorzuliegen zu haben, ... dann mit
Bitmap lBitmap = BitmapFactory.decodeFile(Pfadvomfile);
und damm
imageview.set....
Alles in einer zeile ist ziemlich unschön, außerdem solltest du die log ausgabe immer im auge behalten.

bei der xml solltest du vielleicht ein android:paddingTop="50dip" ö.ä einfügen...
mfg

Antworten
Nico R.
  • Forum-Beiträge: 30

19.05.2011, 20:31:08 via Website

Ok, habe nun folgendes versucht.
1Bitmap myBitmap = BitmapFactory.decodeFile("C:/Users/*****/Desktop/hawaii.jpg");
2 myImage.setImageBitmap(myBitmap);
Ich habe sowohl C:/Users/... als auch C:\\Users\\... versucht, bei beiden Variationen bekomme ich kein Bild angezeigt. Also wirklich gar nichts. Auch nicht das standard Android-Icon wie beim Versuch davor.

Alles in einer zeile ist ziemlich unschön, außerdem solltest du die log ausgabe immer im auge behalten.
Ich bin noch am experimentieren, daher wird der Code einfach so mal zusammengeworfen.
Log meldet mir nichts interessantes, nur
[2011-05-19 20:28:08 - Emulator] emulator: warning: opening audio input failed
obwohl ich kein Audio verwende. Aber das ist mir im Moment relativ egal.

Gruß
Nico

— geändert am 19.05.2011, 20:31:26

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

19.05.2011, 20:42:16 via App

Nico R.
1Bitmap myBitmap = BitmapFactory.decodeFile("C:/Users/*****/Desktop/hawaii.jpg");
2 myImage.setImageBitmap(myBitmap);
Ich kenn zwar grad nicht die Vorgeschichte, aber das erinnert stark an Windows :)
Versuch mal sowas, wie «Environment.getExternalDir()+"deinordner"» als Pfad.
Lg Ansgar
edit: Oder ist das im Emulator?

— geändert am 19.05.2011, 20:42:58

Antworten
Nico R.
  • Forum-Beiträge: 30

19.05.2011, 21:24:38 via Website

Ansgar M
Ich kenn zwar grad nicht die Vorgeschichte, aber das erinnert stark an Windows :)
Versuch mal sowas, wie «Environment.getExternalDir()+"deinordner"» als Pfad.
Lg Ansgar
edit: Oder ist das im Emulator?
Damit kann ich leider nichts anfangen. Das Bild soll später tatsächlich mal online abgerufen werden, also über eine URL :S
Und ja, ist noch alles im Emulator.

Gruß
Nico

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

19.05.2011, 22:24:32 via App

Hm,
wäre mir neu, dass man so mit dem Emulator aufs Windows Laufwerk zugreifen kann.
Lg Ansgar

Antworten
Kullorki
  • Forum-Beiträge: 55

20.05.2011, 19:56:57 via Website

Im android emulator kannst du nur in den internen speicher speichern(in deinem installationsverzeichniss ) oder auf der sdkarte.
Der pfad zur sd karte ist unter android 2.2 "/sdcard/".... ab android 2.3 "/mnt/sdcard/" ...(kann aber von gerät zu gerät variiren, weshalb man sich den pfad aber wie oben beschrieben geben lassen sollte.)
Du kannst NICHT unter Windows speichern.. der emu ist ein abgeschottetes system.

Antworten
Nico R.
  • Forum-Beiträge: 30

21.05.2011, 13:36:28 via Website

Das war ja mehr oder weniger auch nur ein Test, wenn es nicht geht, ok. Aber das Bild soll über eine URL aufgerufen werden. Der Emulator sollte doch einen Draht zum Internet haben, damit ich online-Inhalte laden und anzeigen lassen kann, oder?

greez Web

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

21.05.2011, 13:42:16 via App

Ja,
der Emulator hat Internet über den PC. Hier nur nicht die Internet Permission vergessen :grin:
Lg Ansgar

Antworten
Nico R.
  • Forum-Beiträge: 30

21.05.2011, 15:35:22 via Website

Kopf -> Tisch
Daran lags, die Internet-Permission >_<
Vielen Dank, jetzt funktionierts. Ab jetzt kann ich mal anfangen zu programmieren :)

Gruß
Nico

Antworten
Gelöschter Account
  • Forum-Beiträge: 372

03.11.2011, 20:06:35 via Website

Weiß zufällig jemand wie sich die "Tabs" in der google+ app heißen?
Oder sind das gar keine richtigen Tabs? Find dazu kein wirkliches Tutorial
oder example ^^

lg, Jan

Antworten
Gian U.
  • Forum-Beiträge: 117

05.11.2011, 17:33:55 via Website

Jan Schimanski
Weiß zufällig jemand wie sich die "Tabs" in der google+ app heißen?
Oder sind das gar keine richtigen Tabs? Find dazu kein wirkliches Tutorial
oder example ^^

Ich glaub dieser Blog sollte dir weiterhelfen: http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html?m=1

Mnemono - Efficient learning!

Antworten