Denke du must dich erst noch mal mit den Grundkenntnissen von Java vertraut machen. Deklaration und inizaliren von variablen Objekten. Schaue dir an was statige ist. Dies bedeutet du brauchst davon keine instans erzeugen. Du bringst einiges durcheinander. Öffnen und auslesen eine Datei kanst du ja schon dann schau die an wie du daten in die Datei schreibst.
Beiträge von nono124
-
-
Wenn man eine globale variable erstellt dann benutzt man die auch.
-
Die globale static variable ist nicht die gleiche wie die in der onceate.
Aserdem wenn du nicht speicherst was soll das ganze. beim Neustart deiner App ist deine ganze Schiebereri weg sofern sie leuft. -
Sehe gerade das in der RoundShapeBtn.xml die Farbe auch auf ffffff weiß gesetzt ist somit ist weiß auf weiß. Bei weißen Hindergrund.
-
hallo vieleicht hilft das auch etwas weiter
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
wieso Deklarirst du in zeile 4 und 11 die gleiche Varialbe recipeList2 ?
zur laufzeit ist deine Variable zwar Deklarirt aber ihr sind keine wetrete zugewiesen.So wird das auch nicht gehen. Speichere die Daten vor benden der Activity in deine Date , benutze am besten zwei Datein.
Lese die Daten beim Start der Activity wieder ein und das in beiden Activitys. -
mPager = (ViewPager) v.findViewById(R.id.pager);
in dieser Zeile?
wieso v.findViewById(R.id.pager);
teste mal ohne das v -
und wenn du das Fragment direkt in Main aufrufst so wie in den zeilen 9-15 kommt da auch nur weiß?
Habe ich es richtig verstanden das der weiße Schirm erst beim zweiten aufruf der KLASSE TableSetting Kommt? -
hast du den den zweiten Start der TableSetting Klasse mal mit dem Debuger im Einselschrit getestet?
Wo bleibt er hängen? -
Hi werde aus deiner Beschreibung nicht Richtig Schlau.
Klasse Playground: ist der Start.
welche Klasse wird dann aufgerufen ?
zuletzt ist man wieder in der Playground richtig?
dann willst du wieder eine Klasse aufrufen die dann weiss bleibt richtig? welche Klasse ist das?Wie rufst du die Klassen auf und wie kommst du zurück?
-
Kann ich dir leider nicht sagen den viewpager habe ich noch nicht verwendet.
-
ok bei linearlayaut ist orientation die richtung in welger die Views angeordnet werden.
deshalb fange ich immer mit einen Relativlayout an in dem ich dann ein linearlayout mache.
orientation beim relativL. gibt die die Anzeigeausrichtung an.Code
Alles anzeigen<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:id="@+id/scrollView" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView> </RelativeLayoutLinearLayout>
-
so Habe dir etwas zusammen gestellt so wie ich es mache mit Listen ist nur ein Beispiel
Java
Alles anzeigenpublic class test extends AppCompatActivity { private ArrayList <TestListData> _TestListData; ListView anzeigeListe; int testInt; String testString; public test(){ _TestListData = new ArrayList(); testInt=0; testString=""; } class clickListe implements AdapterView.OnItemClickListener { public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { //Hier der Code bei Klick } } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); anzeigeListe = (ListView) findViewById(android.R.id.list); anzeigeListe.setOnItemClickListener(new clickListe()); _TestListData.clear(); // Schleife die die Liste mit Daten füllt. aus Datei oder SQL // mei mir SQL _TestListData.add(new TestListData(testInt,testString)); if (cursor.getCount() != 0) { cursor.moveToFirst(); do { testInt = cursor.getInt(1); testString = cursor.getSring(2); // daten in liste schreiben _TestListData.add(new TestListData(testInt,testString)); } while (cursor.moveToNext()); } anzeigeListe.setAdapter(new TestlistAdapter( this, _TestListData)); }
So habe dir etwas zusammen gestellt so wie ich es mache.
Classe ActivityJava
Alles anzeigenpublic class test extends AppCompatActivity { private ArrayList <TestListData> _TestListData; ListView anzeigeListe; int testInt; String testString; public test(){ _TestListData = new ArrayList(); testInt=0; testString=""; } class clickListe implements AdapterView.OnItemClickListener { public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { //Hier der Code bei Klick } } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); anzeigeListe = (ListView) findViewById(android.R.id.list); anzeigeListe.setOnItemClickListener(new clickListe()); _TestListData.clear(); // Schleife die die Liste mit Daten füllt. aus Datei oder SQL // mei mir SQL _TestListData.add(new TestListData(testInt,testString)); if (cursor.getCount() != 0) { cursor.moveToFirst(); do { testInt = cursor.getInt(1); testString = cursor.getSring(2); // daten in liste schreiben _TestListData.add(new TestListData(testInt,testString)); } while (cursor.moveToNext()); } anzeigeListe.setAdapter(new TestlistAdapter( this, _TestListData)); }
Classe für deine Daten
Java
Alles anzeigenpublic class TestListData { int zahl; String text; public TestListData(int testInt, String testString) { this.zahl =testInt; this.text = testString; } public String getListString(){ return text; } public int getListInt(){ return zahl; } //+++++++++++++++++++++++++++++++ // hier können weiter get und set metoden deiner daten erstellt werden //++++++++++++++++++++++++++++ }
Code
Alles anzeigenpublic class TestlistAdapter extends BaseAdapter { private ArrayList<TestListData> _Liste = new ArrayList<TestListData>(); private LayoutInflater _layoutInflater; public TestlistAdapter(Context context, ArrayList<TestListData> liste){ _Liste = liste; _layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return _Liste.size(); } @Override public Object getItem(int position) { return _Liste.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { // hier dein List Layout Test_liste.xml convertView = _layoutInflater.inflate(R.layout.Test_liste, null); } TestListData p = (TestListData) getItem(position); TextView text; // die Id sind deine die aus der Test_liste.xml ((TextView) convertView.findViewById(R.id.TV_List_Int)).setText(p.getListInt()); ((TextView) convertView.findViewById(R.id.TV_list_String)).setText(p.getListString()); return convertView; } }
Classe für den Adapter .
Das Layout für die MainActivity hier "test" must du noch erstellen
ebenfals das Layout für die customListe . Das ganze soll nur als Grundgerüst dienen.
somit solte dein erste Frage nach einerCustem List View auch beantwortet sein
wie du in meinen Code sieht speichere ich es in ein SQL. finde ich einfacher und fexsibler als mit Datein.hoffe es hilft weiter.
-
ok werde wegen dem final werde ich morgen bei meiner app nachschauen.
-
hallo habe mir dein Problem noch mal durch gelesen.
Wie und wo speicherst du den deine Liste? In einer SQL , Datei oder ...
Der Adapter speichert die Liste nicht das musst du schon selber machen.
Beim neustart der app werden ja wieder die gleichen daten aus der Datei gelesen und dein arryliste damit geladen.
Der Zugriff auf deine zweite Liste in der neuen activity wird so auch nicht gehen.
recipeList2.add(selectedRecipe) denke das soll sei zweite Liste sein. Nur das es die zur Laufzeit nicht giebt da andere activity.
Eine Lösung wäre die Liste global und static zu deklarieren. Und dann so aufrufen app2. recipeList2.add(selectedRecipe) -
hallo sehe gerade das bei dem link von fischkralle es auch etwas falsch ist. Die orentation sollte in der scollview sein und nicht im relativlayout. Orientation in der scrollview gibt die sccrollrichtung an. Im relativ oder linear layout ob du im vertkal oder landkape fest haben wist. Zumindest an habe ich es so verstanden.
-
hallo
Wieso machst du deine arryliste final ? Dann kannst du die Liste zur Laufzeit nicht mehr verändern. Wenn ich mit Iistviews arbeite bearbeite ich immer meine arrylist und nicht den Adapter der nimmt dann die Daten aus der arrylist. -
hi hast du schon versucht dein linearlayout in eine scrollview zu setzen. Und ohne android:orientation="vertical"> die Zeile mal weglassen.
-
Habe den Code leider selber nicht getestet nur so aus Gedanken. Werde es am we versuchen.
-
Hi ich würde auch mit machen. Kenne das spiel zwar nicht. Werde es mir mal laden wenn kostenlos ist. Denke da kann man einiges lernen dabei. Kann leider erst ab Mitte Juli mit einsteigen.