Hallo
wollte mich bei dir noch bedanken mein Fehler lag in der Reihenfolge falls es mal jemand brauchen sollte, so hat es geklappt:
Hallo
wollte mich bei dir noch bedanken mein Fehler lag in der Reihenfolge falls es mal jemand brauchen sollte, so hat es geklappt:
Genau ich hab immer das gleiche Menü. Ich hab das was du geschrieben hast in bei jeder Activity eingefügt, aber es klappt noch nicht. Kannst du mir nochmal genauer erklären was du damit gemeint hast?
Bzw. Was meinst du bei Menu? Für die Icons habe ich nur ein einziges XML Dokument.
Danke für deine Hilfe.
Danke für deine Antwort
Das hat leider nicht funktioniert. Oder muss ich zusätzlich noch etwas anderes machen?
Ich habe in vielen Tutorials gesehen das dort Fragments statt Actions genutzt werden... kann es sein das es deshalb nicht klappt?
Bin mir nicht sicher ob ich dich richtig verstanden habe... hier wäre mal ein Beispiel wie du von einem Android Gerät via Audio Buchse Audio Dateien an einen Arduino sendest... vllt hilft dir das schon ein wenig weiter:
Hallo Zusammen
bei meinem kleinen Versuch habe ich eine BottomNavigationBar um zwischen den Activities wechseln zu können. Das klappt auch alles super. Nur leider wird immer das Musik Icon hervorgehoben, egal in welcher Activity ich gerade bin. Wie schaffe ich es, dass immer die aktive Aktivity hervorgehoben wird?
Im Anhang habe ich euch zwei Bilder hochgeladen um das ganze ein wenig zu veranschaulichen
Einstellungen
public class Einstellungen extends AppCompatActivity {
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_musik:
Intent intent0_ = new Intent(Einstellungen.this, Musik.class);
startActivity(intent0_);
return true;
case R.id.navigation_lampe:
Intent intent_1 = new Intent (Einstellungen.this, Lampe.class);
startActivity(intent_1);
return true;
case R.id.navigation_strom:
Intent intent_2 = new Intent (Einstellungen.this, Strom.class);
startActivity(intent_2);
return true;
case R.id.navigation_wetter:
Intent intent_3 = new Intent (Einstellungen.this, Wetter.class);
startActivity(intent_3);
return true;
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_einstellungen);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
}
Alles anzeigen
Musik
public class Musik extends AppCompatActivity {
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_einstellungen:
Intent intent0_ = new Intent(Musik.this, Einstellungen.class);
startActivity(intent0_);
return true;
case R.id.navigation_lampe:
Intent intent_1 = new Intent (Musik.this, Lampe.class);
startActivity(intent_1);
return true;
case R.id.navigation_strom:
Intent intent_2 = new Intent (Musik.this, Strom.class);
startActivity(intent_2);
return true;
case R.id.navigation_wetter:
Intent intent_3 = new Intent (Musik.this, Wetter.class);
startActivity(intent_3);
return true;
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_musik);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}
}
Alles anzeigen
Manifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.user.solarpanel">
<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">
<activity
android:name=".Musik"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Lampe"/>
<activity android:name=".Einstellungen"/>
<activity android:name=".Strom"/>
<activity android:name=".Wetter"/>
</application>
</manifest>
Alles anzeigen
Layout:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.user.solarpanel.Einstellungen">
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="64dp"
android:layout_marginTop="142dp"
android:text="Einstellungen"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
Alles anzeigen
Alle Klassen und Layouts sind gleich.
Vielen Dank für eure HIlfe und noch einen schönen Sonntag
Danke hab es geändert. Musste noch die Activity im Manifest eintragen. Dann hat alles geklappt so wie du es beschrieben hast.
Vielen Dank dir und noch nen schönen Feierabend
Danke für die schnelle Antwort genau.
ich habs jetzt mal so geschrieben:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void LampeKlick (View view) {
Intent intent = new Intent(this, Lampe.class); // <- Die zweite Activity
startActivity(intent);
}
}
Alles anzeigen
War das so von dir gemeint? Leider stürzt die App noch immer ab. Die Klasse Lampe habe ich so gelassen.
Hallo
ich habe erst kürzlich mit der App Entwicklung angefangen - bin also noch blutiger Anfänger. Ich möchte zum Start eine App schreiben, mit der ich via Bluetooth eine LED an- bzw. ausschalten kann, und zusätzlich dazu die Spannungen auslesen. Das möchte ich jeweils in einem eigenen Fenster darstellen. Sprich einmal "Power Monitor" und einmal "Licht an- ausschalten". Durch einen Click auf einen Button soll dann von dem Startbildschirm "Powermonitor" auf "Licht an- ausschalten" gewechselt werden können. Hier ist mal der Code:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void LampeKlick (View view) {
Lampe lampe = new Lampe();
lampe.LampeKlick();
}
}
Alles anzeigen
public class Lampe extends AppCompatActivity{
public void LampeKlick () {
setContentView(R.layout.lampe_layout);
}
}
Wie schaffe ich es, "setContentView(R.layout.lampe_layout);" in eine eigene Klasse zu stecken? Bei mir stürzt die App immer ab.
Vielen Dank für eure Hilfe und einen guten Start in die neue Woche
A456B123