Menü anlegen

  • Antworten:17
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 602

08.08.2019, 15:46:46 via Website

Hallo zusammen

Ich möchte in meiner App ein Menü anlegen. Dies habe ich in einer TestApp mal vorgängig geprüft. Dort funktioniet alles ohne Probleme. Das Menü sieht wie folgt aus.

image

Oben rechts steht das Symbol für das Menü.
Baue ich nun das Menü in meine App ein funktioniert es nicht. Ich habe bereits einiges ausprobiert, aber nichts hilft. Der Unterschied zum Test ist das Menüsymbol oben rechts in meiner App. Dies sieht wie folgt:

image

Starte ich nun die App wird das Menü einfach nicht angezeigt.
Weiss jemand was ich ändern muss damit es funktioniert?

Gruss Renato

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.527

17.08.2019, 17:12:43 via Website

Schön wäre wenn du verraten würdest wie deine Activity Klasse aussieht und vorallen wie sie am Anfang aussah.
Damit meine ich das extends.

Das hätte ich gern gewusst weil du in den meisten deiner Code nur von Activity extendest (Erbst).
Und deshalb auch dein anfangs Problem das "setSupportActionBar" nicht gefunden wird. Auch klar ist.

Ich hoffe du kannst dich noch zu dieser Antwort die dir auch vieles erklärt durchringen.

Deine ersten Bilder deuten nämlich auch auf diesen Fehler hin.

— geändert am 17.08.2019, 17:27:00

Hilfreich?
Pascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

08.08.2019, 17:24:58 via Website

Hallo
Wie immer wäre hier etwas Quellcode nicht schlecht. Solltest du nun langsam auch wissen.

Wie sieht die XML Datei aus wo in welchen Ordner ist die?
Wie hast du das Menu in der Activity eingebunden?
Hast du onCreateOptionsMenu überschrieben?

Hast du überhaupt eine Toolbar oder Action Bar?
Hast du das richtige Theme?

Das sind alles punkte die da eine Rolle spielen. Die wir ohne Code nicht wissen, sehen können.

https://www.javatpoint.com/android-option-menu-example

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

10.08.2019, 21:02:13 via Website

Ciao Jokel

Ich habe bewust alles weg gelassen und nur den unterschied gepostet. Aber vielleicht hast du recht und das Problem liegt ganz wo anders.

Ein Unterschied habe ich noch gesehen und zwar im "AndroidManifest.xml". Dort wo es funktioniert habe ich den Eintrag

android:theme="@style/AppTheme"

Dort wo es nicht funktioniert habe ich

android:theme="@android:style/Theme"

Also nun stelle ich alles andere auch noch zur Verfügung. Vielleicht suche ich das Problem wirklich am falschen Ort.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

xmlns:tools="http://schemas.android.com/tools"
package="ch.robbisoft.kck_app">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@android:style/Theme"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name=".zigeuner1"></activity>
    <activity android:name=".musikbuttons" />
    <activity android:name=".Main">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

und das Menü selber

<?xml version="1.0" encoding="utf-8"?>

xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:id="@+id/mnu_proben"
    android:title="@string/proben"
    app:showAsAction="never" />
<item
    android:id="@+id/mnu_aktuelles"
    android:title="@string/aktuelle"
    app:showAsAction="never" />
<item
    android:id="@+id/mnu_musik"
    android:title="@string/lbl_musik"
    app:showAsAction="never" />
<item
    android:id="@+id/mnu_info"
    android:title="@string/info"
    app:showAsAction="never" />

zu guter letzt noch den quellcode:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    animationKlick = AnimationUtils.loadAnimation(this, R.anim.button_klick);

    btn_links = (Button) findViewById(R.id.btn_proben);
    btn_links.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/proben.html");
        }
    });
    btn_mitte = (Button) findViewById(R.id.btn_aktuelles);
    btn_mitte.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/aktuelles.html");
        }
    });
    btn_rechts = (Button) findViewById(R.id.btn_info);
    btn_rechts.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/info.html");
        }
    });
    btn_musik = (Button) findViewById(R.id.btn_musik);
    btn_musik.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(getApplicationContext(), musikbuttons.class));
        }
    });

    animationEinblenden = AnimationUtils.loadAnimation(this, R.anim.einblenden);

    schirm = (WebView) findViewById(R.id.kck_daten);
    schirm.setWebViewClient(new WebViewClient());
    //Prüfen ob Internet verbindung vorhanden ist
    if( Connection() ){
        schirm.clearCache(true);
    }
    schirm.loadUrl("http://robbisoft.ch/proben.html");
}
   @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.mnu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Wir prüfen, ob Menü-Element mit der ID "action_daten_aktualisieren"
    // ausgewählt wurde und geben eine Meldung aus
    int id = item.getItemId();
    if (id == R.id.mnu_proben) {
        schirm.loadUrl("http://robbisoft.ch/proben.html");
        return true;
    }
    if(id == R.id.mnu_aktuelles){
        schirm.loadUrl("http://robbisoft.ch/aktuelles.html");
        return true;
    }
    if(id == R.id.mnu_musik){
        startActivity(new Intent(getApplicationContext(), musikbuttons.class));
        return true;
    }
    if(id == R.id.mnu_info){
        schirm.loadUrl("http://robbisoft.ch/info.html");
        return true;
    }
    return super.onOptionsItemSelected(item);
}

Ich hoffe, dass das Problem nun gefunden wird.

Gruss Renato

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

11.08.2019, 12:06:32 via Website

Hallo Renato,
so wie ich das sehe ist das Menü im 2. Screenshot doch da, der Menübutton sieht einfach anders aus.
Ich vermute das liegt nur an den Styles o.ä.

Verwendest du eine ToolBar als ActionBar?
Allgemein sieht die ActionBar/Toolbar im 2. Screenshot eher nach einer Android 3.x App aus anstatt nach einer 5.x.
Hast du zu viel kompatiblität drin oder ist das ausversehen passiert?

— geändert am 11.08.2019, 12:07:58

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

12.08.2019, 21:29:21 via Website

Ciao Pascal

Mein Handy hat Android 5.2 installiert. Damit es auf den meisten Geräten läuft mache ich meine Apps ab 4.3 Kompatiebel. Oder ist das schlecht?

Gruss Renato

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

13.08.2019, 10:07:22 via App

Schlecht nicht aber du solltest schauen dass du trotzdem ToolBars verwendest und diese abwärtskompatibel machst.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

13.08.2019, 11:46:37 via Website

Ciao Jokel

Ich versuche das Beispiel nach zu bauen welches du mir im Link gesendet hast. Aber an einer Stelle komme ich nicht weiter. Und zwar die Methode

setSupportActionBar(toolbar);  

will er nicht kennen. Ich habe es mit

setActionBar(menu_bar);

ersetzt. Dann kann ich es kompilieren aber beim Ausführen stürzt es gleich ab.
Was muss ich tun damit es funktioniert?

Gruss Renato

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

13.08.2019, 12:41:18 via Website

Hallo wo in deinem Code hast du den überhaupt die Toolbar ?
Wenn ich mir deinen geprosteten Code an sehe ist da nicht von ToolBar in der onCreate zusehen.
Hast du die den auch in dem Layout erstellt?

Wenn du eine Toolbar willst benutz man übrigens auch ein Theme ohne Actionbar

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

Im layout muss natürlich auch die Toolbar sein ist auch im beispiel ersichtlich.

Vergesse nicht auch die support.design Lib mit in das Gradle aufzunehmen.

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

13.08.2019, 16:02:04 via Website

Ciao Jokel

Die Toolbar sieht im Layout wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>

xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
        app:toolbarId="@+id/main_toolbar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/main_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"></android.support.v7.widget.Toolbar>
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior">

    <LinearLayout
        android:id="@+id/rahmen"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".Main">

        <FrameLayout
            android:id="@+id/menu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="@color/ColorWeiss">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal">

                <Button
                    android:id="@+id/btn_proben"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:background="@drawable/button_blau"
                    android:text="@string/proben"
                    android:textStyle="bold" />

                <Button
                    android:id="@+id/btn_aktuelles"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:background="@drawable/button_blau"
                    android:text="@string/aktuelle"
                    android:textStyle="bold" />

                <Button
                    android:id="@+id/btn_musik"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:background="@drawable/button_blau"
                    android:text="@string/lbl_musik"
                    android:textStyle="bold" />

                <Button
                    android:id="@+id/btn_info"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:background="@drawable/button_blau"
                    android:text="@string/info"
                    android:textStyle="bold" />

            </LinearLayout>

        </FrameLayout>

        <WebView
            android:id="@+id/kck_daten"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="bottom" />
    </LinearLayout>
</android.support.v4.widget.NestedScrollView>

oder auch so

image

Im Main.java habe ich folgendes gemacht

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    animationKlick = AnimationUtils.loadAnimation(this, R.anim.button_klick);
    menu_bar = (Toolbar) findViewById(R.id.main_toolbar);

// setActionBar(menu_bar);
setSupportActionBar(menu_bar);

    btn_links = (Button) findViewById(R.id.btn_proben);
    btn_links.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/proben.html");
        }
    });
    btn_mitte = (Button) findViewById(R.id.btn_aktuelles);
    btn_mitte.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/aktuelles.html");
        }
    });
    btn_rechts = (Button) findViewById(R.id.btn_info);
    btn_rechts.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.startAnimation(animationKlick);
            schirm.loadUrl("http://robbisoft.ch/info.html");
        }
    });
    btn_musik = (Button) findViewById(R.id.btn_musik);
    btn_musik.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(getApplicationContext(), musikbuttons.class));
        }
    });

    animationEinblenden = AnimationUtils.loadAnimation(this, R.anim.einblenden);

    schirm = (WebView) findViewById(R.id.kck_daten);
    schirm.setWebViewClient(new WebViewClient());
    //Prüfen ob Internet verbindung vorhanden ist
    if( Connection() ){
        schirm.clearCache(true);
    }
    schirm.loadUrl("http://robbisoft.ch/proben.html");
}

Die Methode

setSupportActionBar(menu_bar);

will er immer noch nicht kennen!

Im Manifest habe ich folgendes eingetragen:

<?xml version="1.0" encoding="utf-8"?>

xmlns:tools="http://schemas.android.com/tools"
package="ch.robbisoft.kck_app">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name=".zigeuner1"></activity>
    <activity android:name=".musikbuttons" />
    <activity android:name=".Main">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Im build.gradel habe ich folgendes eingetragen (da bin ich mir nicht sicher ob das so korrekt ist)

implementation 'com.android.support:support-compat:28.0.0'

Was kann ich sonst noch tun?

Gruss Renato

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

13.08.2019, 18:14:28 via Website

Die ersten Zeilen ohne einer Layout Angabe kann schon mal nicht gehen.

Saue dir doch wirklich mal das Beispiel an .
Oder erstelle dir ein neues Projekt mit einer Basic Activity und schaue dir das Layout an.
Und Code sowie das Gradle an.

Wie sieht den deine Activity aus kann es sein das du gar nicht von AppCompatActivity erbst? Somit auch nicht appCompat im Gradle hast.

Ich denke du arbeitest mit sehr alten Beispielen die nur von Activity Erben.
public class MainActivity extends AppCompatActivity {
sollte es sein.

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

sind die Zeilen die Gradle sein sollten

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 
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"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>


  Dein Layout


</android.support.design.widget.CoordinatorLayout>
Hilfreich?
Robbiani Renato
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

17.08.2019, 15:30:07 via Website

Ciao Jokel

Ich habe die Ursache für den Layoutunterschied gefunden. In meinem Layout war die Toolbar V4 drin und nicht V7. Sobald ich es ändere sieht es so wie im anderen Beispiel aus.

Nun habe ich alle Änderungen übernommen. Das Projekt kann ich compilieren aber nicht ausführen. Mal schaun wo es abstürzt.

War scheinlich hast du recht und ich sollte das Projekt einstampfen und neu beginnen.

Gruss Renato

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

17.08.2019, 16:13:37 via Website

In meinem Layout war die Toolbar V4 drin und nicht V7

Nein das war es nicht, zu mindestens die toolbar im letzten Post ist V7. Das war und ist nicht der Fehler.

Schaue es dir richtig an.

Wie ich schon sagte wird es an der falsch abgeleiteten Klasse ligen. Denn wenn du nur von Activity erbst ist es kein Wunder das
setSupportActionBar nicht gefunden wird.
In Activity gibt es diese Methode nicht. Erst in AppCompatActivity ist die Methode vorhanden.

Habe dir im letzten Beitrag schon gezeigt wie die Kasse aussehen sollte. Antwort gab es darauf leider keine.
public class MainActivity extends AppCompatActivity {

Bitte schaue richtig und erzähle uns nicht das es an V4 V7 lag.
Das dies nicht der Fehler ist weist du ja nun schon selbst denn die app stürzt ja ab.

Eine Toolbar V4 gibt es nicht.

— geändert am 17.08.2019, 16:35:16

Hilfreich?
Pascal P.
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

17.08.2019, 16:43:50 via Website

Möchte noch etwas hinzufügen.

Du sagst du willst auch das deine app auch mit älteren System läuft. Die Tollbar läuft mit der AppCompat Support lib ab Android 4.0 API 14. Dazu brauchst du nur die minsdk im grade ändern.

Hilfreich?
Pascal P.
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

17.08.2019, 16:56:06 via Website

Ciao Jokel

Die App läuft nun. Irgend wie habe ich zuviel hineingemischt. Als ich die Toolbar aus dem Layout entfernt habe ging es rund.

Herzlichen Dank für alle die sich für eine Lösung bemüht haben.

Gruss Renato

Hilfreich?
Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.527

17.08.2019, 17:12:43 via Website

Schön wäre wenn du verraten würdest wie deine Activity Klasse aussieht und vorallen wie sie am Anfang aussah.
Damit meine ich das extends.

Das hätte ich gern gewusst weil du in den meisten deiner Code nur von Activity extendest (Erbst).
Und deshalb auch dein anfangs Problem das "setSupportActionBar" nicht gefunden wird. Auch klar ist.

Ich hoffe du kannst dich noch zu dieser Antwort die dir auch vieles erklärt durchringen.

Deine ersten Bilder deuten nämlich auch auf diesen Fehler hin.

— geändert am 17.08.2019, 17:27:00

Hilfreich?
Pascal P.
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

17.08.2019, 17:56:32 via Website

Ciao Jokel

Klar mache ich das. Möglicherweise kann dies jemandem anderen auch helfen.
Also meine Activity sieht zur Zeit so aus:

package ch.robbisoft.kck_app;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class Main extends AppCompatActivity {

private WebView schirm;
private Animation animationEinblenden;
private Animation animationKlick;
private Toolbar menu_bar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    animationKlick = AnimationUtils.loadAnimation(this, R.anim.button_klick);

    animationEinblenden = AnimationUtils.loadAnimation(this, R.anim.einblenden);

    schirm = (WebView) findViewById(R.id.kck_daten);
    schirm.setWebViewClient(new WebViewClient());
    //Prüfen ob Internet verbindung vorhanden ist
    if( Connection() ){
        schirm.clearCache(true);
    }
    schirm.loadUrl("http://robbisoft.ch/proben.html");
}

@Override
protected void onResume() {
    super.onResume();
    View v = findViewById(R.id.rahmen);
    v.startAnimation(animationEinblenden);
}

private void animation(){
    Animation AnimKlick = AnimationUtils.loadAnimation(this, R.anim.klick);
    AnimKlick.start();
}

/**********************************************************************************************
 * Prüft ob eine Verbindung zum Internet vorhanden ist
 *
 * @autor robbisoft @version 29.01.2019
 * @param
 * @return ist die Internetverbindung vorhanden (ja/nein)
 ***********************************************************************************************/
private boolean Connection() {
    boolean Wifi = false;
    boolean Mobile = false;

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] netInfo = cm.getAllNetworkInfo();
    for (NetworkInfo NI : netInfo) {
        if (NI.getTypeName().equalsIgnoreCase("WIFI")){
            if (NI.isConnected()){
                Wifi = true;
            }
        }
        if (NI.getTypeName().equalsIgnoreCase("MOBILE"))
            if (NI.isConnected()){
                Mobile = true;
            }
    }
    return Wifi || Mobile;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.mnu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Wir prüfen, ob Menü-Element mit der ID "action_daten_aktualisieren"
    // ausgewählt wurde und geben eine Meldung aus
    int id = item.getItemId();
    switch (id){
        case R.id.mnu_proben : {
            schirm.loadUrl("http://robbisoft.ch/proben.html");
            return true;
        }
        case R.id.mnu_aktuelles :{
            schirm.loadUrl("http://robbisoft.ch/aktuelles.html");
            return true;
        }
        case R.id.mnu_musik :{
            startActivity(new Intent(getApplicationContext(), musikbuttons.class));
            return true;
        }
        case R.id.mnu_info :{
            schirm.loadUrl("http://robbisoft.ch/info.html");
            return true;
        }
        default: return super.onOptionsItemSelected(item);
    }
}

}

Und das Passende Layout :

<?xml version="1.0" encoding="utf-8"?>

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/lay_main"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:id="@+id/rahmen"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Main">

    <WebView
        android:id="@+id/kck_daten"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom" />
</LinearLayout>

Was ich noch geändert habe ist das Theme im AndroidManifest.xml
diese sieht nun wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>

xmlns:tools="http://schemas.android.com/tools"
package="ch.robbisoft.kck_app">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name=".zigeuner1"></activity>
    <activity android:name=".musikbuttons" />
    <activity android:name=".Main">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Mit grösster Warscheinlichkeit hast du Recht und mein Problem lag am "exdends". Dann nach dem ich dies geändert hatte ging es.

Nochmals Herzlichen Dank für deine Hilfe.

Gruss Renato

Hilfreich?
Jokel
Kommentieren
Jokel
  • Forum-Beiträge: 1.527

17.08.2019, 18:08:16 via Website

Danke ok .

Nur jetzt hast du wieder die Actionbar und keine Toolbar.
Wenn du es so willst auch ok.

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 602

17.08.2019, 21:35:35 via Website

Ciao Jokel

Und wo ist der Unterschied? Bei beiden gibt es ein Menü.

Gruss Renato

Hilfreich?
Kommentieren