Java 播放控制台中的androidx.fragment.app.fragment$InstanceionException错误
请帮忙。在玩cosole的时候有这样一个错误。我无法在发布版本的设备上跟踪它Java 播放控制台中的androidx.fragment.app.fragment$InstanceionException错误,java,android,android-studio,Java,Android,Android Studio,请帮忙。在玩cosole的时候有这样一个错误。我无法在发布版本的设备上跟踪它 java.lang.RuntimeException: at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3311) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3460) at android.app.ser
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3311)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3460)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2047)
at android.os.Handler.dispatchMessage (Handler.java:107)
at android.os.Looper.loop (Looper.java:224)
at android.app.ActivityThread.main (ActivityThread.java:7590)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:950)
Caused by: androidx.fragment.app.Fragment$InstantiationException:
at androidx.fragment.app.FragmentFactory.instantiate (FragmentFactory.java:134)
at androidx.fragment.app.FragmentState.instantiate (FragmentState.java:77)
at androidx.fragment.app.FragmentManagerImpl.restoreSaveState (FragmentManagerImpl.java:2456)
at androidx.fragment.app.FragmentController.restoreSaveState (FragmentController.java:194)
at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:279)
at androidx.appcompat.app.AppCompatActivity.onCreate (AppCompatActivity.java:85)
at com.project.smolentsev.idleclick.play.PlayActivity.onCreate (PlayActivity.java:82)
at android.app.Activity.performCreate (Activity.java:7893)
at android.app.Activity.performCreate (Activity.java:7880)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1307)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3286)
Caused by: java.lang.NoSuchMethodException:
at java.lang.Class.getConstructor0 (Class.java:2332)
at java.lang.Class.getConstructor (Class.java:1728)
at androidx.fragment.app.FragmentFactory.instantiate (FragmentFactory.java:124)
我的游戏活动
public class PlayActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
private String fileName = "data.txt";
Dialog dialog;
private static boolean flagThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play);
flagThread = true;
BottomNavigationView navigation = findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(this);
checkFirstRun();
loadJson();
loadFragment(new PlayFragment(data));
Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
PlayFragment fragobj = new PlayFragment(data);
fragobj.setArguments(bundle);
ImageButton office_button = findViewById(R.id.btn_office);
office_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
data.setDate(0);
saveJson();
Intent office = new Intent(PlayActivity.this, office.class);
startActivity(office);
d("RelaxPlayyOfice", String.valueOf(data.getRelax()));
}
});
}
@Override
public void onBackPressed()
{
Intent i = new Intent(PlayActivity.this, MainActivity.class);
startActivity(i);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item)
{
Fragment fragment=null;
switch (item.getItemId())
{
case R.id.navigation_play:
{ ImageButton office_button = findViewById(R.id.btn_office);
office_button.setVisibility(View.VISIBLE);
fragment = new PlayFragment(data);
break;
}
case R.id.navigation_shop:
{ ImageButton office_button = findViewById(R.id.btn_office);
office_button.setVisibility(View.INVISIBLE);
fragment = new ShopFragment(data);
break;
}
case R.id.navigation_back:
{
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
return true;
}
}
return loadFragment(fragment);
}
private boolean loadFragment(Fragment fragment){
if(fragment != null)
{
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container_play, fragment).commit();
return true;
}
return false;
}
private void openCancelDialog(){
dialog = new Dialog(PlayActivity.this);
dialog.setContentView(R.layout.cancel_dialog);
dialog.setCancelable(false);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
ImageButton cancel_del=dialog.findViewById(R.id.btn_cancel);
cancel_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
finish();
startActivity(intent);
del_progress();
dialog.dismiss();
}
});
dialog.show();
}
private void openTutorial1(){
dialog = new Dialog(PlayActivity.this);
dialog.setContentView(R.layout.dialog_tutorial_1);
dialog.setCancelable(false);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
ImageButton cancel_del=dialog.findViewById(R.id.btn_cancel);
cancel_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
openTutorial2();
}
});
dialog.show();
}
private void openTutorial2(){
dialog = new Dialog(PlayActivity.this);
dialog.setContentView(R.layout.dialog_tutorial_2);
dialog.setCancelable(false);
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
ImageButton cancel_del=dialog.findViewById(R.id.btn_cancel);
cancel_del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
dialog.show();
}
}
我的剧本片段
@SuppressLint("ValidFragment")
public class PlayFragment extends Fragment {
private Data data;
private long lastUpdate;
MediaPlayer mp;
Context mctx;
private List<Item> itemList;
@SuppressLint("ValidFragment")
public PlayFragment(Data data)
{
this.data = data;
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstance)
{
return inflater.inflate(R.layout.fragment_play, null);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
}
}
@SuppressLint(“有效碎片”)
公共类PlayFragment扩展了片段{
私人数据;
私人长期更新;
MediaPlayer mp;
上下文mctx;
私人清单项目清单;
@SuppressLint(“有效碎片”)
公共播放片段(数据)
{
这个数据=数据;
}
@可空
@凌驾
创建视图上的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstance)
{
返回充气机。充气(R.layout.fragment_play,空);
}
@凌驾
已创建视图上的公共void(视图,@Nullable Bundle savedInstanceState){
}
}
在发布版本中,我的一切都在Pixel 2和小米Redmi a4安卓6.0上运行。如何在我的设备上重现此错误,或者如何知道是什么原因导致此错误