Исключение во время выполнения recyclerView - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь отобразить данные в recyclerView, но мое приложение вылетает

открытый класс Search_book_admin расширяет AppCompatActivity {

ArrayList<Model_class> modelClassArrayList;
myAdapert myadapter;
RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    recyclerView = (RecyclerView) findViewById(R.id.rv);
    setContentView(R.layout.activity_search_book_admin);
    modelClassArrayList = new ArrayList<>();
    AddItems();
    myadapter = new myAdapert(modelClassArrayList);

    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));

    recyclerView.setAdapter(myadapter);
}
private  void AddItems()
{
    try {
        for(int i=0;i<20;i++)
        {
            modelClassArrayList.add(new Model_class(R.drawable.ic_action_name,
                    "name: "+i,
                    "email"+i));
        }
    }
    catch (Exception e)
    {
        Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
    }
}

@Override
public void onBackPressed() {
    finish();
}

((МОЙ АДАПТЕР КЛАСС))

открытый класс myAdapert extends RecyclerView.Adapter {ArrayList modelClassArrayList;

public myAdapert(ArrayList<Model_class> modelClassArrayList) {
    this.modelClassArrayList = modelClassArrayList;
}

@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View customView = LayoutInflater.from(viewGroup.getContext())
            .inflate(R.layout.custom_row,viewGroup,false);
    myViewHolder myviewHolder = new myViewHolder(customView);
    return myviewHolder;
}

@Override
public void onBindViewHolder(@NonNull myViewHolder myViewHolder, int i) {
    Model_class model_class = modelClassArrayList.get(i);
    myViewHolder.contactPic.setImageResource(model_class.getImage());
    myViewHolder.contactName.setText(model_class.getName());
    myViewHolder.contectEmail.setText(model_class.getEmail());

}

@Override
public int getItemCount() {
    return modelClassArrayList.size();
}

public class myViewHolder extends RecyclerView.ViewHolder {
    ImageView contactPic;
    TextView contactName,contectEmail;
    public myViewHolder(@NonNull View itemView) {
        super(itemView);
        contactPic = itemView.findViewById(R.id.image);
        contactName = itemView.findViewById(R.id.name);
        contectEmail = itemView.findViewById(R.id.email);
    }
}

2019-06-15 17: 39: 16.114 6337-6337 /?E / ProActivieLaunch: отправка трансляции 2019-06-15 17: 39: 16.121 4466-4702 /?E / ActivityManager: получено намерение TouchDown, начиная ActiveLaunch 2019-06-15 17: 39: 16.139 29048-29048 /?E / Zygote: isWhitelistProcess - процесс занесен в белый список 2019-06-15 17: 39: 16.140 29048-29048 /?E / Zygote: accessInfo: 1 2019-06-15 17: 39: 16.563 4010-4053 /?E / BufferQueueProducer: [com.sec.android.app.launcher / com.sec.android.app.launcher.activities.LauncherActivity [6337] # 0] отключить: не подключено (req = 1) 2019-06-15 17:39: 16,566 4466-6303 /?E / WindowManager: win = Window {cdfa8e6 u0 com.sec.android.app.launcher / com.sec.android.app.launcher.activities.LauncherActivity} destroySurfaces: appStopped = false win.mWindowRemovalAllowed = false win.mRemoveOnExit = false win.mViewVisibility = 8 caller = com.android.server.wm.WindowManagerService.tryStartExitingAnimation: 2748 com.android.server.wm.WindowManagerService.relayoutWindow: 2446 com.android.server.wm.Session.relayoutForTranslate: 287 android$ Stub.onTransact: 432 com.android.server.wm.Session.onTransact: 186 android.os.Binder.execТранзакция: 739 2019-06-15 17: 39: 17.376 4466-4537 /?E / WindowManager: win = Window {7d266dd u0 Экран-заставка com.example.library_management_system EXITING} destroySurfaces: appStopped = false win.mWindowRemovalAllowed = true win.mRemoveOnExit = true win.mViewVisibility = 0 caller = com.android.enppW.mW.destroySurfaces: 870 com.android.server.wm.AppWindowToken.destroySurfaces: 851 com.android.server.wm.WindowState.onExitAnimationDone: 5423 com.android.server.wm.WindowStateAnimator.on.nimation анимация закончена: 31 comser.WindowState.onAnimationFinished: 5845 com.android.server.wm .- $$ Lambda $ yVRF8YoeNdTa8GR1wDStVsHu8xM.run: 2 com.android.server.wm.SurfaceAnimator.lambda $ getFinishedCallback 39-06 201,6: 0: 0: 029048-29048 / com.example.library_management_system E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: главный Процесс: com.example.library_management_system, PID: 29048 java.lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.example.library_management_ystem.library_management_system.Search_book_admin}: java.lang.NullPointerException: попытка вызвать виртуальный метод «void android.support.v7.widget.RecyclerView.setHasFixedSize (boolean)» для ссылки на пустой объект в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3115) в android.app.ActivityThreadСвойствоTransactionExecutor.execute (TransactionExecutor.java:68) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1955) в android.os.Handler.dispatchMessage (Handler.java:106) в android.os.Looper.loop(Looper.java:214) в android.app.ActivityThread.main (ActivityThread.java:7058) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965) Причина: java.lang.NullPointerException: попытка вызвать виртуальный метод «void android.support.v7.widget.RecyclerView.setHasFixedSize (boolean)» для ссылки на пустой объект в com.example.library_management_system.Search_book.onCreate (Search_book_admin.java:25) в android.app.Activity.performCreate (Activity.java:7327)на android.app.Activity.performCreate (Activity.java:7318) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1275) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3095) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3258) на android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) на android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) на android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1955) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:214) на android.app.ActivityThread.main (ActivityThread.java:7058) в java.lang.reflect.Method.invoke (родной метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965) 2019-06-15 17: 39: 19.769 29101-29101 /? E / Zygote: isWhitelistProcess - процесс занесен в белый список

1 Ответ

0 голосов
/ 15 июня 2019

Вставьте этот код в метод onCreate

setContentView(R.layout.activity_search_book_admin);
recyclerView = (RecyclerView) findViewById(R.id.rv);
modelClassArrayList = new ArrayList<>();
AddItems();
myadapter = new myAdapert(modelClassArrayList);

recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

recyclerView.setAdapter(myadapter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...