Как сделать переход на фрагмент в spinner'e со строчки

18 Мар 2023г. в 13:54

Нужно сделать переход со списка в спиннере по выбранному пункту переход на новый фрагмент. Вот мой код в котором я запутался, представление в голове есть, но что то идет не так.

Spinner spinner1, spinner2;
FragmentOne fragmentOne;
FragmentTwo fragmentTwo;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

fragmentOne = new FragmentOne();
fragmentTwo= new FragmentTwo();

spinner1 = findViewById(R.id.spinner1);
String selected = spinner1.getSelectedItem().toString();
Toast.makeText(getApplicationContext(), selected, Toast.LENGTH_SHORT).show();

ArrayAdapter<String> adapter = new ArrayAdapter<>(
MainActivity.this, R.layout.custom_spinner, getResources().getStringArray(R.array.List)

);
adapter.setDropDownViewResource(R.layout.customs_spinner_dropdown);
spinner1.setAdapter(adapter);

spinner2 = findViewById(R.id.spinner2);
String selected1 = spinner2.getSelectedItem().toString();
Toast.makeText(getApplicationContext(), selected1, Toast.LENGTH_SHORT).show();

ArrayAdapter<String> adapter1 = new ArrayAdapter<>(
MainActivity.this, R.layout.custom_spinner, getResources().getStringArray(R.array.ListTwo)
);
adapter1.setDropDownViewResource(R.layout.customs_spinner_dropdown);
spinner2.setAdapter(adapter1);

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
switch (i) {
case 0:
selectFragment (fragmentOne);
break;
case 1:
selectFragment (fragmentTwo);
break;
}
}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {

}
});
}

private void selectFragment(Fragment fragment) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.FrameLayout,fragment);
fragmentTransaction.commit();
}

{

VideoView videoPlayer;
videoPlayer = findViewById(R.id.videoView3);
Uri myVideoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
videoPlayer.setVideoURI(myVideoUri);
MediaController mediaController = new MediaController(this);
videoPlayer.setMediaController(mediaController);
mediaController.setMediaPlayer(videoPlayer);


}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mydiplom, PID: 14829
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.mydiplom/com.example.mydiplom.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.pm.ApplicationInfo android.content.Context.getApplicationInfo()' on a null object reference
at android.content.ContextWrapper.getApplicationInfo(ContextWrapper.java:152)
at android.view.ContextThemeWrapper.getTheme(ContextThemeWrapper.java:157)
at android.content.Context.obtainStyledAttributes(Context.java:655)
at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:922)
at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:889)
at androidx.appcompat.app.AppCompatDelegateImpl.findViewById(AppCompatDelegateImpl.java:691)
at androidx.appcompat.app.AppCompatActivity.findViewById(AppCompatActivity.java:264)
at com.example.mydiplom.MainActivity.<init>(MainActivity.java:86)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)


Оставить комментарий

Ваше имя::


Комментарий::




Ничего не найдено