ListView und Arrays...

wer112

Top Contributor
Ich habe eine Frage. Ich möchte eine Liste anzeigen lassen mit mehreren Zeilen, sowie ein Image. Ich habe keine Ahnung, wie es mit Listen und Arrays funktioniert. Ich weiß nur, das man Strings Arrays anzeigen lassen kann( String name[] = {}). Das Problem ist, das ich den Input nicht festlegen möchte, sondern über ein Alert Dialog eintragen lassen möchte. Das funktioniert mit dem Dialog(Toast Ausgabe.) Ich habe sehr viele Youtube Videos probiert und keins hat funktioniert, weil immer wieder was nicht Exestiert(Befehle...), deswegen konnte ich kein Video finden. Es gibt auch keine Videos wo man das lernen kann. Und die Leute haben immer die Arrays festgelegt.
ich möchte Sie aus dem Internet laden bzw. aus ShaPre.

Meine Fragen:

- Wie speichert man Arrays Strings ab(ShaPre & Firebase)?
- Wie lädt man Arrays Strings (ShaPre & Firebase)?
- Wie kann ich Bilder als Arrays in die richtigen Reihenfolge laden
- Wie kann ich mit den importierten Arrays eine mehrzeilige ListView erstellen

Es wäre schön, wenn ihr gute Youtube Videos(am besten Deutsch) zu diesen Themen findet, die zur meiner Aufgabe passen, dmit ich das erlernen kann. Leider finde ich keins, da Befehle nicht mehr existieren.
 

Jw456

Top Contributor
- Wie speichert man Arrays Strings ab(ShaPre & Firebase)?

Für den Anfang würde och erstmal mit ShaPref machen.
Das ist dann nur lokal nicht im Netz.
Lokal wäre auch eine DB SQlite ist ja schon in Android vorhanden.
Firebase und auch SQlite setzt natürlich einiges von DB wissen voraus .

für ShaPref villeicht ArrayList benutzen





- Wie kann ich Bilder als Arrays in die richtigen Reihenfolge laden
Dazu wäre einfacher das array in eine Liste oder collection zupacken und dort zusortieren.
Der ArrayAdapter sollte auch mit einer ArrayList umgehen können.

- Wie kann ich mit den importierten Arrays eine mehrzeilige ListView erstellen

Suche nach Custom ListView
 

Jw456

Top Contributor


 

wer112

Top Contributor
- Wie speichert man Arrays Strings ab(ShaPre & Firebase)?

Für den Anfang würde och erstmal mit ShaPref machen.
Das ist dann nur lokal nicht im Netz.
Netz muss am Ende ja sein, da der Nutzer die Daten wieder haben möchte.
Jetzt zum Test Zwecken, kann ich ja offline machen ;)
Lokal wäre auch eine DB SQlite ist ja schon in Android vorhanden.
Firebase und auch SQlite setzt natürlich einiges von DB wissen voraus .

für ShaPref villeicht ArrayList benutzen

Ich habe mir das Angeschauen und das auch gemacht, leider bin ich zu blös ;) , weil ich habe in /data/data/shaPre in die dort angelegte Datei nachgesehen und die 2 Werte werden nur überschrieben und bildet sich kein String.

Frage, wie füge ich eine Array String ein Wert hinzu?
 
K

kneitzel

Gast
weil ich habe in /data/data/shaPre in die dort angelegte Datei nachgesehen und die 2 Werte werden nur überschrieben und bildet sich kein String.
Bitte immer genau sagen:
- Was hast Du exakt gemacht?
- Was hast Du exakt vorgefunden?

In dem Link wird ja die ArrayList in einen JSON String verwandelt und dann wird es als key / Value Paar gespeichert.

Somit wirst Du eben genau diesen einen Key sehen.Und der wird immer überschrieben.

Wert Hinzufügen wäre dann immer:
- JSON lesen und mit gson deserialisieren (Dann hast Du wieder die ArrayList).
- ArrayList verändern
- ArrayList per gson in JSON String umwandeln und dann speichern.
 

wer112

Top Contributor
Bitte immer genau sagen:
- Was hast Du exakt gemacht?
- Was hast Du exakt vorgefunden?

In dem Link wird ja die ArrayList in einen JSON String verwandelt und dann wird es als key / Value Paar gespeichert.

Somit wirst Du eben genau diesen einen Key sehen.Und der wird immer überschrieben.

Wert Hinzufügen wäre dann immer:
- JSON lesen und mit gson deserialisieren (Dann hast Du wieder die ArrayList).
- ArrayList verändern
- ArrayList per gson in JSON String umwandeln und dann speichern.
Ich habe viele Youtube videos ausprobiert und hat nie funktioniert.
Jetzt habe ich dank den Link von Jw456 eine Liste, wo da die Strings feststehen. Ich habe ein runden Button, wo ein Alert Dialog aufgeht und zwei Input Felder sind. Dannach zeigt es beim okay klicken den Toast an. Ich habe das mit den SharedPref wie der Link von Jw456 gezeigt gehat gemacht in den Dialog(später muss es ja in der online Datenbank abspeichern....

Das sind die Seiten....


[CODE lang="java" title="Haupt Klasse"]package ..........................;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.app.AlertDialog;
import android.app.Fragment;
import android.content.SharedPreferences;
import android.database.DataSetObserver;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.renderscript.ScriptGroup;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class alle_apps_konsole extends Fragment {

Button add_btn;

TextView appname,packname;




String app_name, pack_name;



ListView list;


String[] apptitle ={
"Title 1","Title 2",
"Title 3","Title 4",
"Title 5",
};


String[] packtitle ={
"Sub Title 1","Sub Title 2",
"Sub Title 3","Sub Title 4",
"Sub Title 5",
};


Integer[] imgid={
R.drawable.ks_logo,R.drawable.ks_logo,
R.drawable.ks_logo,R.drawable.ks_logo,
R.drawable.ks_logo,
};






@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

View fragmentlayout_alle_apps_konsole = inflater.inflate(R.layout.activity_alle_apps_konsole, null);

ListAdapterKonsole adapter=new ListAdapterKonsole(getActivity(), apptitle, packtitle,imgid);
list=(ListView)fragmentlayout_alle_apps_konsole.findViewById(R.id.listView);
list.setAdapter(adapter);

/* listView = (ListView)fragmentlayout_alle_apps_konsole.findViewById(R.id.listView); */
add_btn = (Button)fragmentlayout_alle_apps_konsole.findViewById(R.id.add_button);
appname = (TextView)fragmentlayout_alle_apps_konsole.findViewById(R.id.konsole_app_name_list);
packname = (TextView)fragmentlayout_alle_apps_konsole.findViewById(R.id.konsole_pack_name_list);


loadApps();





list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
// TODO Auto-generated method stub
if(position == 0) {
//code specific to first list item
Toast.makeText(getActivity(),"Place Your First Option Code",Toast.LENGTH_SHORT).show();
}

else if(position == 1) {
//code specific to 2nd list item
Toast.makeText(getActivity(),"Place Your Second Option Code",Toast.LENGTH_SHORT).show();
}

else if(position == 2) {

Toast.makeText(getActivity(),"Place Your Third Option Code",Toast.LENGTH_SHORT).show();
}
else if(position == 3) {

Toast.makeText(getActivity(),"Place Your Forth Option Code",Toast.LENGTH_SHORT).show();
}
else if(position == 4) {

Toast.makeText(getActivity(),"Place Your Fifth Option Code",Toast.LENGTH_SHORT).show();
}

}
});














add_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

final View add_dialog = LayoutInflater.from(getActivity()).inflate(R.layout.layout_dialog_add_apps, (LinearLayout)fragmentlayout_alle_apps_konsole.findViewById(R.id.layoutAddAppsContainer));

builder.setView(add_dialog);

((TextView) add_dialog.findViewById(R.id.textTitle)).setText("neue App");
((Button)add_dialog.findViewById(R.id.button_add_app)).setText("Okay");



final AlertDialog alertDialog = builder.create();
add_dialog.findViewById(R.id.button_add_app).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

EditText input_app_name = add_dialog.findViewById(R.id.input_app_name);
EditText input_package_name = add_dialog.findViewById(R.id.input_pack_name);;

app_name = input_app_name.getText().toString();
pack_name = input_package_name.getText().toString();



Toast.makeText(getActivity(), app_name + "\n" + pack_name, Toast.LENGTH_SHORT).show();



SharedPreferences sharedPreferences = getActivity().getSharedPreferences("apps_konsole", getActivity().MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = sharedPreferences.edit();
Gson gson = new Gson();
String appjson = gson.toJson(app_name);
String packjson = gson.toJson(pack_name);
prefsEditor.putString("appname_konsole", appjson);
prefsEditor.putString("packname_konsole", packjson);
prefsEditor.commit();



alertDialog.dismiss();
}
});



if (alertDialog.getWindow() != null) {
alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
}

alertDialog.show();


}
});








return fragmentlayout_alle_apps_konsole;
}

private void loadApps() {

SharedPreferences mPrefs = getActivity().getSharedPreferences("apps_konsole", getActivity().MODE_PRIVATE);
Gson gson = new Gson();
String json = mPrefs.getString("bacarraylist", "");
Type type = new TypeToken<ArrayList>(){}.getType();
ArrayList<alle_apps_list_konsole> arrayList= gson.fromJson(json, type);
}


@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}


}[/CODE]

und der Adapter:

[CODE lang="java" title="Adapter"]package com.andrealfredklug.klugstore;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import java.util.ArrayList;

public class ListAdapterKonsole extends ArrayAdapter<String> {

private final Activity context;
private final String[] apptitle;
private final String[] packtitle;
private final Integer[] imgid;

public ListAdapterKonsole(Activity context, String[] apptitle,String[] packtitle, Integer[] imgid) {
super(context, R.layout.list_row_konsole, apptitle);
// TODO Auto-generated constructor stub

this.context=context;
this.apptitle=apptitle;
this.packtitle=packtitle;
this.imgid=imgid;

}

public View getView(int position,View view,ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.list_row_konsole, null,true);

TextView titleText = (TextView) rowView.findViewById(R.id.konsole_app_name_list);
ImageView imageView = (ImageView) rowView.findViewById(R.id.imageKonsole);
TextView subtitleText = (TextView) rowView.findViewById(R.id.konsole_pack_name_list);

titleText.setText(apptitle[position]);
imageView.setImageResource(imgid[position]);
subtitleText.setText(packtitle[position]);

return rowView;

};
}[/CODE]


Die Liste:


[CODE lang="java" title="Die Liste"]package com.andrealfredklug.klugstore;

public class alle_apps_list_konsole {

String appname;
String packagename;

int imageId;

public alle_apps_list_konsole(String appname, String packagename, int imageId) {
this.appname = appname;
this.packagename = packagename;
this.imageId = imageId;
}



public String getAppname() {
return appname;
}

public String getPackagename() {
return packagename;
}

public int getImageId() {
return imageId;
}
}
[/CODE]
 
K

kneitzel

Gast
Ja, der Link zeigt das Speichern einer Liste mittels gson. Die gson Library muss man dazu einbinden. Bei der Android App hast du ja Gradle als Buildtool, oder?

https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.7 zeigt das Maven Repository von der lib, den Gradle Eintrag findest Du im Gradle Reiter:
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'

Das muss halt in die build.gradle zu den anderen Abhängigkeiten. Wichtig: die innere build.gradle - also die im app Verzeichnis (So heisst das standardmäßig immer noch, oder? Habe zu lange kein neues Android Projekt gestartet :) ).
 

Jw456

Top Contributor
Ich habe viele Youtube videos ausprobiert und hat nie funktioniert.
Jetzt habe ich dank den Link von Jw456 eine Liste, wo da die Strings feststehen. Ich habe ein runden Button, wo ein Alert Dialog aufgeht und zwei Input Felder sind. Dannach zeigt es beim okay klicken den Toast an. Ich habe das mit den SharedPref wie der Link von Jw456 gezeigt gehat gemacht in den Dialog(später muss es ja in der online Datenbank abspeichern....


Du sprichst von einer Online datenbank du hast ja gar keine sondern ShPref. Das ist lokal.

Und ist auch nach den ausschalten des Handys immer noch vorhanden.



Du willst es wohl in den ShPrefs speichern.

Eigentlich willst eigentlich die zwei werte die du indem Dialog eingeben hast in dem Array speichern Richtig?

Dafür ist ein Array keine gute Idee das es statisch ist. Besser benutze eine ArrayList

Die kannst du auch gleich dem ListviewAdapter geben und auch gleich mit Gson in den ShPref Speichen.

Wen eine Eingabe erfolgt ist, musst du es erstmal der Arraylist hinzufugen und dann in Pref speichern.

Danach wider die Liste neu anzeigen lassen.


gradle
dependencies {
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Also als erstes musst du Deinen Code etwas umstellen. Statt es in Array einzeln zu halten:
Java:
    private final String[] apptitle;
    private final String[] packtitle;
    private final Integer[] imgid;

Solltest Du Deine Klasse nutzen:
Java:
public class alle_apps_list_konsole {

    String appname;
    String packagename;

    int imageId;

Wobei der Name da wohl nicht stimmig ist. Das ist ja eine App und keine Liste von allen Apps. Und man nutzt in der Regel ein CamelCase für Klassen Ein "alle_apps_list_konsole" wäre also "AlleAppsListKonsole" - aber wie gesagt: Eher wäre es eine Application.

Und dann solltest Du es in einer ArrayList speichern. Dann hättest Du statt den drei Arrays sowas:
private final List<Application> applicationList = new ArrayList<>();

Und der Konstruktor sollte die Daten entsprechend entgegen nehmen oder eben aus den 3 Arrays die ArrayList füllen.
 

wer112

Top Contributor
Du sprichst von einer Online datenbank du hast ja gar keine sondern ShPref. Das ist lokal.
Bis man mein Programmierer es online macht....
Und ist auch nach den ausschalten des Handys immer noch vorhanden.
Ja, aber nicht, wenn du dich auf einem anderen Handy einloggst.
Eigentlich willst eigentlich die zwei werte die du indem Dialog eingeben hast in dem Array speichern Richtig?
Das ist ja laut deine Links die einzigste Möglichkeit zu speichern?
Dafür ist ein Array keine gute Idee das es statisch ist. Besser benutze eine ArrayList
Das muss ich später ausprobieren, wie es mit dem jetzigen Code und speichern funktioniert. Wie müsste ich es ungefähr machen?
und wie bekomme ich dann die Strings, die im Dialog entstehen in die Liste eintragen? Habe durch deinen Link mal probiert mit: link.add, was nicht funktionierte, vieleicht am Falschen Widget.
Die kannst du auch gleich dem ListviewAdapter geben und auch gleich mit Gson in den ShPref Speichen.
????????????????????????????????????????????????
Ein eine Eingabe erfolgt ist musst du es erstmal der Arraylist hinzufugen und dann in Pref speichern.

Danach wider die liste neu anzeigen lassen.


gradle
dependencies {
implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.7'
 

Jw456

Top Contributor
Ich denke du musst dir noch einige Java Grudlagen ansehen.
erstmal Arraylist .

-SHprefs werden nie onnline sein.

-die einzige möglichkeit es zu speichen nein.

- wenn du es auf andere Handys gleichzetig haben willst dan Online DB klar.
aber dann brauchst du die ShPrefs nicht mehr zum speichen.

richtig für den Anfang testen mit ShPref.
 
Zuletzt bearbeitet:

wer112

Top Contributor

Jw456 ich habe ja erstmal ja den ganz Simplen List Code genommen, wo ich jetzt das Probem habe, dass ich, wenn ich ein Item ankicke, das nicht öffnen kann. Ich hätte da sehr gerne ein Fragment geöffnet und da es nicht funktionierte, wollte ich eine Klasse öffnen. Leider funktioniert es an der Stelle heraus, überhaupt nicht. Sonst geht es immer. Ich habe diese Sachen probiert:


1. startActivity(new Intent(Alle_Apps.this, App_Fragment.class));

2. App_Fragment af = new App_Fragment();
startActivity(af);

3. Intent i = new Intent(Alle_Apps.this, App_Fragment.class);
startActivity(i);

4. Intent i = getActivity().getIntent()........

Wie komme ich auf einer neuen Seite, aus der Liste heraus?(Normalerweise benutze ich immer die 1.)
 

Jw456

Top Contributor
Was für ein Fehler kommt denn?

>Ich hätte da sehr gerne ein Fragment geöffnet​

der wechsel zu einen anderen Fragment geht nicht mit einem Intent.

Frage wo bist du in einem Fragment oder Activity?
Wohin willst du zu einem Fragment oder Activty?
 
Zuletzt bearbeitet:

wer112

Top Contributor
Was für ein Fehler kommt denn?

>Ich hätte da sehr gerne ein Fragment geöffnet​

der wechsel zu einen anderen Fragment geht nicht mit einem Intent.

Frage wo bist du in einem Fragment oder Activity?
Wohin willst du zu einem Fragment oder Activty?
Ich möchte am liebsten von einem Fragment in ein anderes Fragment, da sowas nicht funktioniert, habe ich mich entschieden(bis mein Programmierer wieder kommt), dass ich aus ein Fragment in eine normale Klasse wechsle. Dass funktioniert bis jetzt immer, wenn ich von Fragment zur Klasse wechsle. Aber das funktioniert nur nicht, wo man den Code hinschreiben muss(ItemClick...).

Fehler kommt an sich nicht richtig. Es wird Rot unterstrichen, aber keine richtige Fehlermeldung. Ich bin mit der Maus darauf gegangen und da steht (übersetzt Google Translator): Konstruktor kann nicht aufgelöst werden.
 

Jw456

Top Contributor
hierzu startActivity(new Intent(Alle_Apps.this, App_Fragment.class));

" Alle_Apps.this" ist das die activity in der du bist? also die mit der Liste?
"App_Fragment.class" ist die Activity die du starten willst. istb das auch eine Activity oder nue eine Klasse ?
denn du sprichst immer von einer Klasse nicht von einer Activity. Einen Aktivity ist eine Klasse die von Activity erbt.

wo in was bist du in einem Fragment oder Activity?

zeige deinen Code.
 
K

kneitzel

Gast
Ich möchte am liebsten von einem Fragment in ein anderes Fragment,
Ja, dann mach das doch ... wenn es bei Dir nicht funktioniert, dann wäre der erste Schritt zu schauen, was Du genau gemacht hast.

Ablauf ist in der Regel:
- Du erstellst einen FragmentManager Du holst Dir den FragmentManager.
- Du startest eine FragmentTransaction
- Du nutzt die replace Methode von der FragmentTransaction, um ein Fragment durch ein Neues/Anderes zu ersetzen.
- Ein addToBackStack ist dann in der Regel noch dabei.
- Du machst ein commit auf der FragmentTransaction

Das Back ist dann ggf. noch zu behandeln - popBackStack vom FragmentManager wäre dann aufzurufen.

Das wäre so im Groben schon alles.

Edit: Hab erst nach dem Post gelesen, dass ich da was falsches geschrieben habe. Du holst Dir natürlich den FragmentManager und erstellst keinen neuen!
 

Jw456

Top Contributor
OK du bist in einem Fragment
zum start der Activity aus einem Fragment brauchst du den Kontext der Achtivity.


Intent i = new Intent(getActivty(), App_Fragment.class);
getAxtivity().startActivity(i);

das startActivity ist bestimt rot unterstrichen
 

wer112

Top Contributor
Ja, dann mach das doch ... wenn es bei Dir nicht funktioniert, dann wäre der erste Schritt zu schauen, was Du genau gemacht hast.

Ablauf ist in der Regel:
- Du erstellst einen FragmentManager
- Du startest eine FragmentTransaction
- Du nutzt die replace Methode von der FragmentTransaction, um ein Fragment durch ein Neues/Anderes zu ersetzen.
- Ein addToBackStack ist dann in der Regel noch dabei.
- Du machst ein commit auf der FragmentTransaction

Das Back ist dann ggf. noch zu behandeln - popBackStack vom FragmentManager wäre dann aufzurufen.

Das wäre so im Groben schon alles.
Das ist so, ich habe ja bereits so eine Steuerung, die alle Fragmente steuert(was du schreibst). Wenn ich dann im Menü auf ein Fragment Klicke öffnet sich ein Fragment. Ich kann ja nicht, wenn ich schon in ein Fragment bin, ein anderes, Fragment öffnen. Ich habe das Fragment zur Steurung mal hinzugefügt und dann versucht z.B. aus dieses Fragment , ein weiteres zu öffnen. Ich möchte ja keine Millionen Menüpunkte haben. Jetzt habe ich gesagt, gut das funktioniert nicht, also starte ich eine Klasse aus dem Fragment, was ja ansicht immer funktioniert hat. Wenn man dann zurück drückt, wird immer der letzte Fragment geöffnet oder man geht einfach auf die Steuerung.

Normalerweise funktioniert ja ein Start auf eine anderen Klasse, nur nicht beim Item Click... Siehe das mit dem Code von dem Link vom Jw456.
 

wer112

Top Contributor
OK du bist in einem Fragment
zum start der Activity aus einem Fragment brauchst du den Kontext der Achtivity.


Intent i = new Intent(getActivty(), App_Fragment.class);
getAxtivity().startActivity(i);

das startActivity ist bestimt rot unterstrichen
🤣🤣🤣🤣🤣🤣🤣🤣🤣 bin Blöd 🤣🤣. Du hast Recht 🤣🤣. In den Fragmente benutze ich ja immer getActivity() und setze alles "normale mit einem Punkt dahinter. Sorry 🤣🤣🤣🤣. Jetzt wird das nicht mehr Rot: startActivity(new Intent(getActivity(), App_Fragment.class));


Aber kannst du mir mal erklären, wie ich aus einem Fragment ein anderes Fragment öffne? Ich möchte ja auf die Nav zugreifen können, sonst müsste der User immer die Zurücktaste drücken, da wäre ja die Toolbar am liebsten. Hast du da einen sehr guten Plan?
 

wer112

Top Contributor
OK du bist in einem Fragment
zum start der Activity aus einem Fragment brauchst du den Kontext der Achtivity.


Intent i = new Intent(getActivty(), App_Fragment.class);
getAxtivity().startActivity(i);
Ich habe das genauso gemacht, nachdem der Normale Weg scheiterte. Aber ich kann irgendwie aus dem Item Click keine Navigation zur einer anderen Klasse machen. Die App stürzt immer ab. in den Logcats bei Error stand da keine Zeile, was für das Problem verantwortlich sei.

Hier der Aktuelle Code von der Alle_Apps Fragment.....:

Java:
package ....................;

import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.drawerlayout.widget.DrawerLayout;


import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.Button;







import android.Manifest;
import android.app.DownloadManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;

import com.google.android.material.navigation.NavigationView;

import java.io.DataInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Alle_Apps extends Fragment {

    Button btn;




    ListView list;


    String[] apptitle ={
            "Titel",
    };


    String[] packtitle ={
            "Beschreibung",
    };


    Integer[] imgid={
            ......logo,
    };


    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

        View fragmentlayout_alle_apps = inflater.inflate(R.layout.activity_alle__apps, null);




        ListAdapterKonsole adapter = new ListAdapterKonsole(getActivity(), apptitle, packtitle,imgid);
        list=(ListView)fragmentlayout_alle_apps.findViewById(R.id.listView_alle_apps);
        list.setAdapter(adapter);



        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                // TODO Auto-generated method stub
                if(position == 0) {
                    //code specific to first list item



                    Intent i = new Intent(getActivity(), App_Fragment.class);
                    getActivity().startActivity(i);

                    Toast.makeText(getActivity(),"Place Your First Option Code",Toast.LENGTH_SHORT).show();
                }



            }
        });




        return fragmentlayout_alle_apps;
    }



    


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }
}
 

wer112

Top Contributor
so wie es dein Menue macht.


Hast du einen NavDrawer wenn ja füge es doch dot hinzu.

Zeige nach welcher art du den Drawer hast.


Das ist die erste Steuerung der Fragmente:


[CODE lang="java" title="Die Steuerung"]package ...........;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;

import android.annotation.SuppressLint;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.material.navigation.NavigationView;

public class fragment_steuerung extends AppCompatActivity {

TextView header_kundennummer, header_email;


int i_b1 = Color.parseColor("#e0e0e0"), i_b2 = Color.parseColor("#e0e0e0"), i_b3 = Color.parseColor("#e0e0e0"), i_b4 = Color.parseColor("#e0e0e0"), i_b5 = Color.parseColor("#e0e0e0"), i_b6 = Color.parseColor("#e0e0e0"), i_b7 = Color.parseColor("#e0e0e0"), i_b8 = Color.parseColor("#000000"), i_b10 = Color.parseColor("#e0e0e0"), i_b9 = Color.parseColor("#e0e0e0");







NavigationView nav;
ActionBarDrawerToggle toggle;
DrawerLayout drawerLayout;

public LinearLayout nav_heder;

public home home;
public Alle_Apps alle_apps;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public ............................................;
public Impressum impressum;
public app_einstellungen app_einstellungen;









public FragmentManager fragmentManager;
public FragmentTransaction fragmentTransaction;


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_steuerung);

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

FarbenImport();


ColorStateList menueTextColor = ColorStateList.valueOf(i_b9);

nav = (NavigationView)findViewById(R.id.navmenu);
nav_heder = (LinearLayout)findViewById(R.id.nav_header);


header_kundennummer = (TextView)findViewById(R.id.kundennummer_header);
header_email = findViewById(R.id.email_header);


/*


header_kundennummer.setTextColor(i_b2);
header_email.setTextColor(i_b2);



*/



Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setBackgroundColor(i_b6);
toolbar.setTitleTextColor(i_b8);



home = (home) Fragment.instantiate(this, home.class.getName(), null);
alle_apps = (Alle_Apps) Fragment.instantiate(this, Alle_Apps.class.getName(), null);
............................................ = (............................................) Fragment.instantiate(this, ............................................ .class.getName(), null);
............................................ = (............................................) Fragment.instantiate(this, ............................................ .class.getName(), null);
............................................ = (............................................) Fragment.instantiate(this, ............................................s.class.getName(), null);


........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

hilfe = (Hilfe) Fragment.instantiate(this, Hilfe.class.getName(), null);
kontakt = (Kontakt) Fragment.instantiate(this, Kontakt.class.getName(), null);
impressum = (Impressum) Fragment.instantiate(this, Impressum.class.getName(), null);
app_einstellungen = (app_einstellungen) Fragment.instantiate(this, app_einstellungen.class.getName(), null);







fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.homelayout, home);
fragmentTransaction.commit();
toolbar.setTitle("............................................");


toolbar.setBackgroundColor(i_b6);
toolbar.setTitleTextColor(i_b8);


/*




nav_heder.setBackgroundColor(i_b7);





*/


drawerLayout = (DrawerLayout)findViewById(R.id.drawer);

toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open, R.string.close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();



nav.setItemTextColor(menueTextColor);





nav.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuitem) {



switch (menuitem.getItemId()) {

case R.id.alle_apps_icon:

toolbar.setTitle("Alle Apps");

fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.homelayout, alle_apps);
fragmentTransaction.commit();


drawerLayout.closeDrawer(GravityCompat.START);
break;


case R.id.............................................:

toolbar.setTitle("............................................");

fragmentManager = getFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.homelayout, ............................................);
fragmentTransaction.commit();


drawerLayout.closeDrawer(GravityCompat.START);
break;



........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................


case R.id.abmelden_icon:

startActivity(new Intent(fragment_steuerung.this, login.class));
break;
}



return true;
}
});
}




public void FarbenImport(){

SharedPreferences prefs = getSharedPreferences("app_einstellungen", MODE_PRIVATE);
i_b1 = prefs.getInt("schriftfarbe1" , i_b1);
i_b2 = prefs.getInt("schriftfarbe2" , i_b2);
i_b3 = prefs.getInt("schriftfarbe3" , i_b3);
i_b9 = prefs.getInt("schriftfarbe_menue" , i_b9);
i_b4 = prefs.getInt("schriftfarbe_button" , i_b4);
i_b5 = prefs.getInt("button_hintergrund" , i_b5);
i_b6 = prefs.getInt("toolbar_farbe" , i_b6);
i_b8 = prefs.getInt("toolbar_textfarbe" , i_b8);
i_b7 = prefs.getInt("header_hintergrund" , i_b7);
i_b10 = prefs.getInt("header_textfarbe" , i_b10);



}



}[/CODE]
 
Zuletzt bearbeitet:

Jw456

Top Contributor
public class Alle_Apps extends Fragment {
ist ein Fragment und keine Activity.
Activity extendet von Activity (AppCompatActivity) ein fragment kannst du nicht mit einem Intent starten.



Aber ich kann irgendwie aus dem Item Click keine Navigation zur einer anderen Klasse machen.
höre auf das immer nur als Klasse zu sehen. Ja es sind Klasse aber beide extenden anders Fragment oder Activity.
Das ist enorm wichtig.




wenn du in eimen Fragment bist und das Fragment ohne den Drawer tauschen willst machst du das fast genauso wie im Drawer.

in etwa so nicht getestet.

Java:
Alle_Apps alle_apps = (Alle_Apps) Fragment.instantiate(getActivity(), Alle_Apps.class.getName(), null);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction    fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.homelayout, alle_apps);
fragmentTransaction.commit();
 

wer112

Top Contributor
ist ein Fragment und keine Activity.
Activity extendet von Activity (AppCompatActivity) ein fragment kannst du nicht mit einem Intent starten.




höre auf das immer nur als Klasse zu sehen. Ja es sind Klasse aber beide extenden anders Fragment oder Activity.
Das ist enorm wichtig.




wenn du in eimen Fragment bist und das Fragment ohne den Drawer tauschen willst machst du das fast genauso wie im Drawer.

in etwa so nicht getestet.

Java:
Alle_Apps alle_apps = (Alle_Apps) Fragment.instantiate(getActivity(), Alle_Apps.class.getName(), null);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction    fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.homelayout, alle_apps);
fragmentTransaction.commit();

Ich danke dir. Ich habe in der Fragment Steuerung Die Seite hinzugefügt und es gefunden... und aber im Fragment dann die FT benutzt, was ich im Menü ja benutze und jetzt hat es geklappt. Danke nochmals.

Kurze Frage: Weißt du, warum zwischen die Toolbar und der Seite, noch etwas Platz ist?
 

Jw456

Top Contributor
Ich danke dir. Ich habe in der Fragment Steuerung Die Seite hinzugefügt und es gefunden... und aber im Fragment dann die FT benutzt, was ich im Menü ja benutze und jetzt hat es geklappt. Danke nochmals.

Kurze Frage: Weißt du, warum zwischen die Toolbar und der Seite, noch etwas Platz ist?
Dazu wäre das Layout wichtig zu kennen. Von der Activity und Fragment.
Vileicht ein Bild wo man sieht was du meinst.
 

wer112

Top Contributor
WhatsApp Image 2021-08-11 at 09.44.39.jpeg

Also zwischen dem Ersten Bild und der Toolbar. Siehst nicht schön aus.

Hier der Anfang des Codes:

XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/app_fragment_id"
    tools:context=".App_Fragment">


    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="150dp"
                android:background="#e0e0e0"
                android:src="@android:drawable/ic_menu_gallery"
                />



(Farbe im Toolbar bzw. Toolbar Text, kann jeder selber in der App ja einstellen, sowie die Farbe für, Menü Schrift, Hintergrundfarben, Button Farben, Jeder Text(Auch Buttons...))
 

Jw456

Top Contributor
ist das Layout das Fragment.
zeige das der Activity.
sieht für mich nach einen Margin bei den Fragment Container im Laout der Activity aus.
 

wer112

Top Contributor

wer112

Top Contributor
ich will die xml die in der Activity mit sentcontenview geladen wird.
Wie meinst du das? Ich verstehe nur Bahnhof. Ich gehe in meinem Fragment(Java) und mache was?

Das Layout wird in dem Fragment so geladen:

Java:
 @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

        View fragmentlayout_app_fragment = inflater.inflate(R.layout.activity_app__fragment, null);
 

Jw456

Top Contributor
Zum Verständnis das Fragment wird in ein layout was sich in der activity befindet eingeblendet.
Wie ein Bild in einem Bilderrahmen ist und der Rahmen ist in der Activity.
 

Jw456

Top Contributor
fragmentTransaction.replace(R.id.homelayout, alle_apps);

die id zeigt dir den Container (Bilderrahmen) in der Activity.

es könnte auch es margin der ToolBar sein
 

wer112

Top Contributor
fragmentTransaction.replace(R.id.homelayout, alle_apps);

die id zeigt dir den Container (Bilderrahmen) in der Activity.

es könnte auch es margin der ToolBar sein
Mit dem letzten Punkt kommen wir näher. Es war nicht bei der Toolbar, sondern bei RelativeLayout.
Jetzt ist die Lücke komplett weg.
Aber neues Problem ist nun, das die Toolbar das Bild zum Teil verdeckt. Leider kann ich kein below machen. Wie bekomme ich das RelativLayout genau unter die Toolbar.

[CODE lang="xml" title="Das ist die Activity von der Fragment Steuerung"]<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:id="@+id/drawer"
tools:eek:penDrawer="start"
tools:context=".fragment_steuerung">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"

android:id="@+id/homelayout">

</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e0e0e0"




/>


</RelativeLayout>

<com.google.android.material.navigation.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/navmenu"
app:menu="@menu/iconmenu"
app:headerLayout="@layout/navheader"
android:layout_gravity="start"/>







</androidx.drawerlayout.widget.DrawerLayout>
[/CODE]
 

Jw456

Top Contributor
Java:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context=".fragment_steuerung"
    tools:openDrawer="start">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#e0e0e0" />

        <RelativeLayout
            android:id="@+id/homelayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/toolbar">

        </RelativeLayout>


    </RelativeLayout>

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navmenu"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/navheader"
        app:menu="@menu/iconmenu" />


</androidx.drawerlayout.widget.DrawerLayout>

Der Layout Designer in AS hilft dir doch.
 
Zuletzt bearbeitet:

wer112

Top Contributor
Java:
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context=".fragment_steuerung"
    tools:openDrawer="start">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#e0e0e0" />

        <RelativeLayout
            android:id="@+id/homelayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/toolbar">

        </RelativeLayout>


    </RelativeLayout>

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/navmenu"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:headerLayout="@layout/navheader"
        app:menu="@menu/iconmenu" />


</androidx.drawerlayout.widget.DrawerLayout>

Der Layout Designer in AS hilft dir doch.

Vielen Dank!! Es hat jetzt funktioniert. Habe wie es aussieht falsch sortiert.

PS.: Leider wird es nicht richtig angezeigt im AS.
Nochmals Danke
 

Jw456

Top Contributor
Vielen Dank!! Es hat jetzt funktioniert. Habe wie es aussieht falsch sortiert.

PS.: Leider wird es nicht richtig angezeigt im AS.
Nochmals Danke
was wird das nicht angezeigt?


edit:
Das Element was keine Ankerpunkte hat wird im Layout immer oben angezeigt.
Wo das im XML File steht ist ziemlich egal.
 
Zuletzt bearbeitet:

Jw456

Top Contributor
Was der AS Designer zeigt und was dann zu Laufzeit angezeigt wird ist nicht immer das gleiche.

Habe kein Zugrif auf die Vektor Images. Muss die extra aus dem Browser downloaden...

Was meinst du damit Erklär mir das genauer.



Bei einem Relativ Laout ist ein View Element ohne Ankerpunkte immer oben links.
Auch ein untergeordnetes Layout ist ein Viewelement in dem gesamten Relativ Layout.
Ohne Ankerpunkte können sich die Elemente überdecken.
.
Ankerpunkte beziehen sich immer auf die ID eines anderen Element. Oder auf das eltern Layout.

Sind zb.

android:layout_above
android:layout_alignBottom
android:layout_alignLeft
android:layout_alignParentBottom
android:layout_alignParentEnd
android:layout_alignParentLeft
android:layout_alignParentRight
android:layout_alignParentStart
android:layout_alignParentTop
android:layout_alignRight
android:layout_alignStart
android:layout_alignTop
android:layout_below
android:layout_centerHorizontal
android:layout_centerInParent
android:layout_centerVertical
android:layout_toEndOf
android:layout_toLeftOf
android:layout_toRightOf
android:layout_toStartOf







 
Zuletzt bearbeitet:

wer112

Top Contributor
So, ich dachte mir, ich probiere es erneut eine Liste zu erstellen. Nachlangen recherchiern konnte ich nun eine Liste erzeugen. Ich konnte Elemente hinzufügen. Leider ist es mir nicht gelungen 3 Sachen zu setzen. Ich habe versucht alles in den Adapter reinzupacken, aber dann leuchtet <> rot.
Darauf hin habe ich zwei Adapter gemacht und beide in ListView gesetzt, aber er hat die unteren Zeilen ausgefüllt, aber nicht die obrigen.

Wie kann ich auf einfachen Weg. ein Bild und zwei Texte(2 Zeilig) setzen?

Leider finde ich dies bezüglich nixs. Und wie ich auch rausfand ein String Array, kann nixs hinzugefügt werden. Denn den Link der Jw456 mal gab und ich benutzt hatte, funktionierte nur mit String Arrays.

Da ich das dynamisch haben muss, da der Entwickler ja neue Apps hinzufügen will, muss ich eine List benutzen. Aber da bekomme ich immer nur eine Zeile hin, egal ob oben oder unten. Das Applogo müsste ja dann auch gesetzt werden.

Könnt ihr mir bitte helfen, wie ich die 3 Sachen mache?

Hier der Code von 1 Variante(erste Zeile):

Java:
 List<Integer> list_applogo = new ArrayList<>(Arrays.asList(applogo));
        List<String> list_appname = new ArrayList<>(Arrays.asList(appname));
        List<String> list_packagename = new ArrayList<>(Arrays.asList(packname));

        


        ArrayAdapter<String> listeAdapter = new ArrayAdapter<>(
                getActivity(),
                R.layout.list_row_konsole,
                R.id.konsole_app_name_list,
                list_appname);

        




        listView = (ListView)fragmentlayout_alle_apps_konsole.findViewById(R.id.listView);
        listView.setAdapter(listeAdapter);


Und dort füge ich neue Apps hinzu:


Java:
  String appname_edit = input_app_name.getText().toString().trim();
                        String packagename_edit = input_package_name.getText().toString().trim();
                        Toast.makeText(getActivity(), appname_edit, Toast.LENGTH_SHORT).show();

                        // App Id wird registriert



                        list_applogo.add(R.drawable.ks_logo);
                        list_appname.add(appname_edit);
                        list_packagename.add(packagename_edit);

                        // App Id Elemente werden um gespeichert und in Datenbank gespeichert
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J ListView Item individuell einfärben Android & Cross-Platform Mobile Apps 17
I Android ListView, Werte aktualisieren ohne die Liste komplett neu zu laden Android & Cross-Platform Mobile Apps 5
W ListView OnItemClicklistener setzen mit Ausgabe Android & Cross-Platform Mobile Apps 35
K Null-Pointer-Exception in ListView - wird über Datenbank gefüllt Android & Cross-Platform Mobile Apps 1
I Android ListView (Custom) soll auf Hardwaretasten nicht reagieren. Android & Cross-Platform Mobile Apps 10
W Android Wieso kann ich keine ListView mehr zum Layout hinzufügen? Android & Cross-Platform Mobile Apps 1
W Android Kann keine ListView mehr in der MainActivtiy anzeigen, obwohl noch sehr viel Platz frei ist Android & Cross-Platform Mobile Apps 1
L ListView aktuallisiert sich nicht Android & Cross-Platform Mobile Apps 15
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
L Android ListView kollabiert in Scrollview Android & Cross-Platform Mobile Apps 9
A ImageButton in ListView Item bei klick ändern Android & Cross-Platform Mobile Apps 3
J Android Suche in einer ListView Android & Cross-Platform Mobile Apps 3
H Android ArrayList <-> ArrayAdapter <-> ListView Android & Cross-Platform Mobile Apps 10
L Android ListView swipe zum löschen Android & Cross-Platform Mobile Apps 1
B Android ListView set custom check Image and delete Android & Cross-Platform Mobile Apps 0
M Android ListView wird nicht dargestellt Android & Cross-Platform Mobile Apps 2
Maresuke Android Android ListView Textfarbe und Texthintergrund ändern? Android & Cross-Platform Mobile Apps 5
A Android Problem mit ListView und OnItemClickListener.. Android & Cross-Platform Mobile Apps 10
S Listview Einträge aus "xml" Datei Android & Cross-Platform Mobile Apps 1
S Android Studio MySql Daten in Listview mit sub Item Android & Cross-Platform Mobile Apps 11
S Textdatei in ListView einlesen Tutorial gesucht!? Android & Cross-Platform Mobile Apps 3
kaoZ Tutorial .xml Layouting für z.B ListView elemente Android & Cross-Platform Mobile Apps 7
M Android ListView und Checkbox Android & Cross-Platform Mobile Apps 6
L TableRows in ListView darstellen Android & Cross-Platform Mobile Apps 2
M ListView mit ListAdapter füllen Android & Cross-Platform Mobile Apps 5
U Android ListView Frage Android & Cross-Platform Mobile Apps 6
L Android SearchBox für Custom Listview Android & Cross-Platform Mobile Apps 5
H Android ListView Images aus dem Internet via Thread Android & Cross-Platform Mobile Apps 3
T Android: ListView-Adapter: Adapter wird ständig aufgerufen Android & Cross-Platform Mobile Apps 2
H Android SAX|ListView NullPointerException Android & Cross-Platform Mobile Apps 2
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
C Zugriff auf die Position eines String- bzw Spinner-Arrays Android & Cross-Platform Mobile Apps 1
B Fragen zu Arrays? Android & Cross-Platform Mobile Apps 9

Ähnliche Java Themen

Neue Themen


Oben