Чего я добиваюсь, так это того, чтобы при открытии приложения оно открывалось в окне рециркулятора (это домашняя страница) с потрясающим изображением, а затем в меню навигации, которое имеет несколько параметров, одно из которых - вернуть программу обратно в окно. домашний экран просмотра переработчика. Кроме того, режим просмотра, меню Fab и Nav работают нормально самостоятельно
Но, приложение продолжает падать после установки на устройстве с текущим кодом, есть в коде нет ошибок, и если я включу MainActivity2 в саму MainActivity1 и объединю файлы xml, я смогу только просматривать представление Recyler, но оно не работает.
Короче говоря : Как я могу заставить пункты меню функционировать как любая другая обычная деятельность, способная выполнять различные задачи, расчеты или списки хранения, представления карт и переработчика?
Спасибо за помощь,
Вот код:
1.MessageFragment. java
package com.example.third;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
public class MessageFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_message,container,true);
}
}
2.MainActivity. java
package com.example.third;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.navigation.NavigationView;
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private FloatingActionButton fab_main, fab1_mail, fab2_share;
private Animation fab_open, fab_close, fab_clock, fab_anticlock;
TextView textview_mail, textview_share;
Boolean isOpen = false;
private DrawerLayout drawer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
if (savedInstanceState == null) {
Intent intent = new Intent(getApplicationContext(),MainActivity2.class);
startActivity(intent);
}
fab_main = findViewById(R.id.fab);
fab1_mail = findViewById(R.id.fab1);
fab2_share = findViewById(R.id.fab2);
fab_close = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fab_close);
fab_open = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fab_open);
fab_clock = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotate_fab_clock);
fab_anticlock = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotate_fab_anticlock);
textview_mail = (TextView) findViewById(R.id.textview_mail);
textview_share = (TextView) findViewById(R.id.textview_share);
fab_main.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isOpen) {
textview_mail.setVisibility(View.INVISIBLE);
textview_share.setVisibility(View.INVISIBLE);
fab2_share.startAnimation(fab_close);
fab1_mail.startAnimation(fab_close);
fab_main.startAnimation(fab_anticlock);
fab2_share.setClickable(false);
fab1_mail.setClickable(false);
isOpen = false;
} else {
textview_mail.setVisibility(View.VISIBLE);
textview_share.setVisibility(View.VISIBLE);
fab2_share.startAnimation(fab_open);
fab1_mail.startAnimation(fab_open);
fab_main.startAnimation(fab_clock);
fab2_share.setClickable(true);
fab1_mail.setClickable(true);
isOpen = true;
}
}
});
fab2_share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
}
});
fab1_mail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(), "Email", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_message:
Intent intent = new Intent(getApplicationContext(),MainActivity2.class);
startActivity(intent);
break;
case R.id.nav_chat:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new ChatFragment()).commit();
break;
case R.id.nav_profile:
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new ProfileFragment()).commit();
break;
case R.id.nav_share:
Toast.makeText(this, "Share", Toast.LENGTH_SHORT).show();
break;
case R.id.nav_send:
Toast.makeText(this, "Send", Toast.LENGTH_SHORT).show();
break;
}
drawer.closeDrawer(GravityCompat.START);
return true;
}
@Override
public void onBackPressed() {
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
}
3.fragment_message . 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"
app:cardElevation="8dp"
android:clipToPadding="false"
tools:context=".MainActivity">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F7F7F7"
android:padding="4dp"
android:scrollbars="vertical" />
<TextView
android:id="@+id/textview_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="88dp"
android:layout_marginLeft="88dp"
android:layout_marginTop="88dp"
android:layout_marginEnd="86dp"
android:layout_marginRight="86dp"
android:layout_marginBottom="115dp"
android:padding="8dp"
android:text="Add Item"
android:textColor="#4CAF50"
android:visibility="invisible" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="161dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:elevation="16dp"
android:focusable="true"
android:src="@drawable/ic_toys_black_24dp"
android:visibility="invisible"
app:backgroundTint="#ffffff"
app:pressedTranslationZ="12dp" />
<TextView
android:id="@+id/textview_mail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="86dp"
android:layout_marginRight="86dp"
android:layout_marginBottom="170dp"
android:padding="8dp"
android:text="Add Offset"
android:textColor="#4CAF50"
android:textSize="15dp"
android:visibility="invisible" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="105dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:elevation="16dp"
android:focusable="true"
android:src="@drawable/ic_lightbulb_outline_black_24dp"
android:visibility="invisible"
app:backgroundTint="#ffffff"
app:pressedTranslationZ="12dp" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="24dp"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:elevation="14dp"
android:focusable="true"
android:src="@drawable/ic_add_black_24dp"
android:visibility="visible"
app:backgroundTint="#ffffff"
app:pressedTranslationZ="12dp" />
</RelativeLayout>
4.activity_main. xml
<?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_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity"
tools:openDrawer="start">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#4CAF50"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_menu" />
</androidx.drawerlayout.widget.DrawerLayout>