Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.IllegalArgumentException:找不到id为0x7f0d00c4的视图_Java_Android_Android Fragments_Fragment_Fragmentmanager - Fatal编程技术网

java.lang.IllegalArgumentException:找不到id为0x7f0d00c4的视图

java.lang.IllegalArgumentException:找不到id为0x7f0d00c4的视图,java,android,android-fragments,fragment,fragmentmanager,Java,Android,Android Fragments,Fragment,Fragmentmanager,我想将一些列表从片段传递到另外两个片段。当我将数据传递给片段2时,它运行良好。但是当传递到片段3时是错误的 错误代码 E/AndroidRuntime:致命异常:主 流程:com.example.yehezkiel.eclassapp,PID:15267 java.lang.IllegalArgumentException:找不到的id为0x7f0d00c4(com.example.yehezkiel.eclassapp:id/fragment3)的视图 片段三片段{e045027#3 id=0

我想将一些列表从片段传递到另外两个片段。当我将数据传递给片段2时,它运行良好。但是当传递到片段3时是错误的

错误代码

E/AndroidRuntime:致命异常:主 流程:com.example.yehezkiel.eclassapp,PID:15267 java.lang.IllegalArgumentException:找不到的id为0x7f0d00c4(com.example.yehezkiel.eclassapp:id/fragment3)的视图 片段三片段{e045027#3 id=0x7f0d00c4} 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1415) 位于android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1752) 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1821) 位于android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:797) 位于android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2595) 在android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2382) 在android.support.v4.app.FragmentManagerImpl.removedandtoperationsandexecute(FragmentManager.java:2337) 位于android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244) 位于android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:702) 位于android.os.Handler.handleCallback(Handler.java:742) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:157) 位于android.app.ActivityThread.main(ActivityThread.java:5555) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)

在OneFragment.java中传递代码

Bundle bundle=new Bundle();
                    bundle.putStringArrayList("keys", keys);
                    //set Fragmentclass Arguments
                    Fragment fragobj=new TwoFragment();
                    fragobj.setArguments(bundle);
                    FragmentManager fragmentManager = getFragmentManager();
                    fragmentManager.beginTransaction().replace(R.id.frag2, fragobj).commitAllowingStateLoss();

                    Bundle bundle2=new Bundle();
                    bundle2.putStringArrayList("keys", keys);
                    //set Fragmentclass Arguments
                    Fragment fragobj2=new ThreeFragment();
                    fragobj2.setArguments(bundle2);
                    FragmentManager fragmentManager2 = getFragmentManager();
                    fragmentManager2.beginTransaction().replace(R.id.fragment3, fragobj2).commitAllowingStateLoss();
package com.example.yehezkiel.eclassapp;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.List;


public class ThreeFragment extends Fragment {
    View v;
    private List<DaftarPengumuman> listPengumuman = new ArrayList<>();
    private ArrayList<String> obj3 = new ArrayList<>();

    public ThreeFragment() {
        // Required empty public constructor
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        v =  inflater.inflate(R.layout.fragment_three, container, false);

        Bundle bundle = this.getArguments();
        if(getArguments()!=null)
        {
            obj3 = bundle.getStringArrayList("keys");
            Log.e("nba",obj3.toString());
        }



        // Inflate the layout for this fragment
        return v;
    }
}
第一次进入TwoFragment的过程做得很好。但是第二次传球给了我这样的错误。请帮帮我。我已经检查了ThreeFragment.xml中的所有id,并且都是正确的

ThreeFragment.java

Bundle bundle=new Bundle();
                    bundle.putStringArrayList("keys", keys);
                    //set Fragmentclass Arguments
                    Fragment fragobj=new TwoFragment();
                    fragobj.setArguments(bundle);
                    FragmentManager fragmentManager = getFragmentManager();
                    fragmentManager.beginTransaction().replace(R.id.frag2, fragobj).commitAllowingStateLoss();

                    Bundle bundle2=new Bundle();
                    bundle2.putStringArrayList("keys", keys);
                    //set Fragmentclass Arguments
                    Fragment fragobj2=new ThreeFragment();
                    fragobj2.setArguments(bundle2);
                    FragmentManager fragmentManager2 = getFragmentManager();
                    fragmentManager2.beginTransaction().replace(R.id.fragment3, fragobj2).commitAllowingStateLoss();
package com.example.yehezkiel.eclassapp;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import java.util.ArrayList;
import java.util.List;


public class ThreeFragment extends Fragment {
    View v;
    private List<DaftarPengumuman> listPengumuman = new ArrayList<>();
    private ArrayList<String> obj3 = new ArrayList<>();

    public ThreeFragment() {
        // Required empty public constructor
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        v =  inflater.inflate(R.layout.fragment_three, container, false);

        Bundle bundle = this.getArguments();
        if(getArguments()!=null)
        {
            obj3 = bundle.getStringArrayList("keys");
            Log.e("nba",obj3.toString());
        }



        // Inflate the layout for this fragment
        return v;
    }
}
package com.example.yehezkiel.eclassapp;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入java.util.ArrayList;
导入java.util.List;
公共类ThreeFragment扩展了片段{
观点五;
私有列表listPengumuman=新的ArrayList();
private ArrayList obj3=新的ArrayList();
公共服务{
//必需的空公共构造函数
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
v=充气机。充气(R.layout.fragment_three,容器,假);
Bundle=this.getArguments();
如果(getArguments()!=null)
{
obj3=bundle.getStringArrayList(“键”);
Log.e(“nba”,obj3.toString());
}
//为该碎片膨胀布局
返回v;
}
}
fragment_three.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.yehezkiel.eclassapp.ThreeFragment">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Three"

        android:textSize="40dp"
        android:textStyle="bold"
        android:layout_centerInParent="true"/>

</FrameLayout>

这是存储在viewpager中的MainActivity.java

package com.example.yehezkiel.eclassapp;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.NavigationView;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbar;
    private TabLayout tabLayout;
    private ViewPager viewPager;
    private List<MataKuliah> listMatkul = new ArrayList<>();
    private ArrayList<String> keys = new ArrayList<>();
    private myAdapter myAdapter;
    private Button logoutBtn;
    private FirebaseAuth mAuth;
    private FirebaseAuth.AuthStateListener authListener;
    private RecyclerView mRecycleView;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;
    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mToggle;
    private Toolbar mToolbar;
    private NavigationView mNavigationView;
    private TextView mTextName;
    private TextView mTextNim;
    private ProgressBar mProgressBar;

    static {
        FirebaseDatabase.getInstance().setPersistenceEnabled(true);
    }

    DatabaseReference userRef = FirebaseDatabase.getInstance().getReference("users");
    FirebaseUser users = FirebaseAuth.getInstance().getCurrentUser();
    DatabaseReference mataKuliahRef = FirebaseDatabase.getInstance().getReference("courses");


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


        mAuth = FirebaseAuth.getInstance();



        //Navbar menu
        mToolbar = (Toolbar) findViewById(R.id.navbaraction);
        setSupportActionBar(mToolbar);
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawabel_main);
        mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);
        mDrawerLayout.addDrawerListener(mToggle);
        mToggle.syncState();
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        mNavigationView = (NavigationView) findViewById(R.id.nav_menu);
        View header = mNavigationView.getHeaderView(0);
        mTextName = (TextView) header.findViewById(R.id.header_name);
        mTextNim = (TextView) header.findViewById(R.id.header_nim);
        mProgressBar = (ProgressBar) findViewById(R.id.progressBar2);
        mProgressBar.setVisibility(View.VISIBLE);

        //Tab Layout
        viewPager = (ViewPager) findViewById(R.id.viewpager);
        setupViewPager(viewPager);

        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);


        mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {

                switch (item.getItemId()) {
                    case (R.id.tugas):
                        break;
                    case (R.id.logout_menu):
                        signOut();
                        break;
                }
                return true;
            }
        });

        userRef.child(users.getUid()).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                String name = (String) dataSnapshot.child("name").getValue().toString();
                String nim = (String) dataSnapshot.child("nim").getValue().toString();

                mTextNim.setText(nim);
                mTextName.setText(name);

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });


        authListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                if (user == null) {
                    startActivity(new Intent(MainActivity.this, LoginActivity.class));
                    finish();
                }
            }
        };


    }

    private void setupViewPager(ViewPager viewPager) {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(new OneFragment(), "Beranda");
        adapter.addFragment(new TwoFragment(), "Tugas");
        adapter.addFragment(new ThreeFragment(), "Pengumuman");
        viewPager.setAdapter(adapter);
    }

    class ViewPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public ViewPagerAdapter(FragmentManager manager) {

            super(manager);
        }

        @Override
        public Fragment getItem(int position) {

            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {

            return mFragmentList.size();
        }

        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {

            return mFragmentTitleList.get(position);
        }
    }



    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        if(mToggle.onOptionsItemSelected(item)){
            return true;
        }
        return super.onOptionsItemSelected(item);
    }


    private void signOut() {
        mAuth.signOut();
    }


    @Override
    public void onStart() {
        super.onStart();
        mAuth.addAuthStateListener(authListener);


    }

}
package com.example.yehezkiel.eclassapp;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.annotation.NonNull;
导入android.support.design.widget.NavigationView;
导入android.support.design.widget.TabLayout;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.support.v4.widget.DrawerLayout;
导入android.support.v7.app.ActionBarDrawerToggle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.RecyclerView;
导入android.support.v7.widget.Toolbar;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ProgressBar;
导入android.widget.TextView;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入java.util.ArrayList;
导入java.util.List;
公共类MainActivity扩展了AppCompatActivity{
专用工具栏;
私人摊位摊位;
私人视页机视页机;
private List listMatkul=new ArrayList();
私有ArrayList键=新ArrayList();
私有myAdapter myAdapter;
私人按钮登录;
私人消防队;
私有FirebaseAuth.AuthStateListener authListener;
私人回收视图mRecycleView;
专用回收器查看适配器mAdapter;
private RecyclerView.LayoutManager MLLayoutManager;
私人抽屉布局mDrawerLayout;
私人行动bardrawertoggle mtogle;
私有工具栏mToolbar;
私有导航视图mNavigationView;
私有文本视图mTextName;
私有文本视图mTextNim;
私人ProgressBar mProgressBar;
静止的{
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
DatabaseReference userRef=FirebaseDatabase.getInstance().getReference(“用户”);
FirebaseUser users=FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference mataKuliahRef=FirebaseDatabase.getInstance().getReference(“