Я хочу получить доступ к некоторым действиям из моего библиотечного модуля (общий). Когда я нажимаю на потрясающую кнопку в ClassActivity (которая из другого модуля: teacher), она работает нормально, она отправляет меня в AddClassActivity
Но когда я нажимаю «Сохранить» (чтобы отобразить RecyclelerView в ClassActivity), ничего не отображается, и я получаю эту ошибку:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.schoolteacher, PID: 26602
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
at com.example.common.Adapter.NotesAdapter.getItemCount(NotesAdapter.java:56)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:4044)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3849)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1213)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:899)
at com.google.android.material.appbar.ViewOffsetBehavior.layoutChild(ViewOffsetBehavior.java:66)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:152)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1892)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1842)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1686)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1595)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1842)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1686)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1595)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:325)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:926)
at android.view.View.layout(View.java:20960)
at android.view.ViewGroup.layout(ViewGroup.java:6279)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3037)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2545)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1636)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7946)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1092)
at android.view.Choreographer.doCallbacks(Choreographer.java:893)
at android.view.Choreographer.doFrame(Choreographer.java:812)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1078)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Вот мой ClassActivity из «модуля учителя»:
public class ClassActivity extends AppCompatActivity {
// Firebase instance variables
private FirebaseAuth mFirebaseAuth;
private FirebaseUser mFirebaseUser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_class);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);
bottomNav.setSelectedItemId(R.id.bottomBarItemSecond);
bottomNav.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.bottomBarItemFirst:
startActivity(new Intent(getApplicationContext(), MainActivity.class));
overridePendingTransition(0,0);
break;
case R.id.bottomBarItemSecond:
break;
case R.id.bottomBarItemThird:
startActivity(new Intent(getApplicationContext(), MessageActivity.class));
overridePendingTransition(0,0);
break;
case R.id.bottomBarItemFourth:
break;
case R.id.bottomBarItemFifth:
break;
}
return true;
}
});
// Initialize Firebase Auth
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();
}
public void fabClick(View v){
Intent intent = new Intent(ClassActivity.this, com.example.common.AddClassActivity.class);
ClassActivity.this.startActivity(intent);
}
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mFirebaseAuth.getCurrentUser();
if(currentUser == null){
sendToStart();
}
}
private void sendToStart() {
Intent startIntent = new Intent(ClassActivity.this, LoginActivity.class);
startActivity(startIntent);
finish();
}
}
Вот AndroidManifest из библиотечного модуля (общий)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.common">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
<activity android:name=".AddAssignmentActivity"></activity>
<activity
android:name=".AddClassActivity"
android:label="Create Class">
<intent-filter>
<action android:name="com.example.schoolteacher.ClassActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".HomeScreen"
android:label="Classes">
</activity>
<activity android:name=".EditActivity"
android:label="Edit Class"
android:parentActivityName=".HomeScreen">
</activity>
</application>
</manifest>
Вот мой общий библиотечный репозиторий: Общая библиотека
Пожалуйста, мне нужна помощь в этом вопросе !