Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
Android 将活动转换为片段_Android_Android Fragments_Android Activity - Fatal编程技术网

Android 将活动转换为片段

Android 将活动转换为片段,android,android-fragments,android-activity,Android,Android Fragments,Android Activity,我在我的项目中做了一个导航,比我有活动,我会把菜单从那些活动变成导航。所以我需要将这些活动转换为片段 这是我的第一个activity.java public class ToDoList extends AppCompatActivity implements BatListener, OnItemClickListener, OnOutsideClickedListener { private BatRecyclerView mRecyclerView; private Ba

我在我的项目中做了一个导航,比我有活动,我会把菜单从那些活动变成导航。所以我需要将这些活动转换为片段

这是我的第一个activity.java

public class ToDoList extends AppCompatActivity implements BatListener, OnItemClickListener, OnOutsideClickedListener {

    private BatRecyclerView mRecyclerView;
    private BatAdapter mAdapter;
    private List<BatModel> mGoals;
    private BatItemAnimator mAnimator;

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

        // Navigator
        FoldingTabBar tabBar = (FoldingTabBar) findViewById(R.id.folding_tab_bar);

        tabBar.setOnFoldingItemClickListener(new FoldingTabBar.OnFoldingItemSelectedListener() {
            @Override
            public boolean onFoldingItemSelected(@NotNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.menu_profile:
                        Intent intent0 = new Intent(ToDoList.this, Home.class);
                        startActivity(intent0);
                        break;
                    case R.id.menu_todo:
                        break;
                    case R.id.menu_schedule:
                        Intent intent1 = new Intent(ToDoList.this, TimeTable.class);
                        startActivity(intent1);
                        break;
                    case R.id.menu_settings:
                        break;
                }
                return false;
            }
        });

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle("");

        ((TextView) findViewById(R.id.text_title)).setTypeface(TypefaceUtil.getAvenirTypeface(this));

        mRecyclerView = (BatRecyclerView) findViewById(R.id.bat_recycler_view);
        mAnimator = new BatItemAnimator();

        mRecyclerView.getView().setLayoutManager(new LinearLayoutManager(this));
        mRecyclerView.getView().setAdapter(mAdapter = new BatAdapter(mGoals = new ArrayList<BatModel>() {{

        }}, this, mAnimator).setOnItemClickListener(this).setOnOutsideClickListener(this));

        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new BatCallback(this));
        itemTouchHelper.attachToRecyclerView(mRecyclerView.getView());
        mRecyclerView.getView().setItemAnimator(mAnimator);
        mRecyclerView.setAddItemListener(this);

        findViewById(R.id.root).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mRecyclerView.revertAnimation();
            }
        });

    }

    @Override
    public void add(String string) {
        mGoals.add(0, new Goal(string));
        mAdapter.notify(AnimationType.ADD, 0);
    }

    @Override
    public void delete(int position) {
        mGoals.remove(position);
        mAdapter.notify(AnimationType.REMOVE, position);
    }

    @Override
    public void move(int from, int to) {
        if (from >= 0 && to >= 0) {
            mAnimator.setPosition(to);
            BatModel model = mGoals.get(from);
            mGoals.remove(model);
            mGoals.add(to, model);
            mAdapter.notify(AnimationType.MOVE, from, to);

            if (from == 0 || to == 0) {
                mRecyclerView.getView().scrollToPosition(Math.min(from, to));
            }
        }
    }

    @Override
    public void onClick(BatModel item, int position) {
        Toast.makeText(this, item.getText(), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onOutsideClicked() {
        mRecyclerView.revertAnimation();
    }

}
public类ToDoList扩展了AppCompativeActivity实现了BatListener、OnItemClickListener和OnOutsideClickedListener{
私人BatRecyclerView mRecyclerView;
私人蝙蝠适配器;
私人名单;
私人巴蒂姆动画师;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.to_do_列表);
//领航员
FoldingTabBar tabBar=(FoldingTabBar)findViewById(R.id.折叠选项卡栏);
tabBar.setOnFoldingItemClickListener(新建FoldingTabBar.OnFoldingItemSelectedListener()){
@凌驾
公共布尔值onFoldingItemSelected(@NotNull MenuItem){
开关(item.getItemId()){
案例R.id.menu\U配置文件:
Intent intent0=新Intent(ToDoList.this、Home.class);
起始触觉(intent0);
打破
案例R.id.菜单\待办事项:
打破
案例R.id.menu\U时间表:
意向意向1=新意向(ToDoList.this,timeline.class);
星触觉(intent1);
打破
案例R.id.菜单\u设置:
打破
}
返回false;
}
});
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setTitle(“”);
((TextView)findviewbyd(R.id.text_title)).setTypeface(TypefaceUtil.getAvenirTypeface(this));
mRecyclerView=(BatRecyclerView)findViewById(R.id.bat\u recycler\u视图);
mAnimator=新的BatItemAnimator();
mRecyclerView.getView().setLayoutManager(新的LinearLayoutManager(this));
mRecyclerView.getView().setAdapter(mAdapter=newbatadapter(mGoals=newarraylist()){{
}}setOnItemClickListener(this).setOnOutsideClickListener(this));
ItemTouchHelper ItemTouchHelper=新的ItemTouchHelper(新的BatCallback(this));
itemTouchHelper.attachToRecyclerView(mRecyclerView.getView());
mRecyclerView.getView().setItemAnimator(mAnimator);
mRecyclerView.setAddItemListener(此);
findviewbyd(R.id.root).setOnClickListener(新视图.OnClickListener()){
@凌驾
公共void onClick(视图v){
mRecyclerView.revertAnimation();
}
});
}
@凌驾
公共空添加(字符串){
mGoals.add(0,新目标(字符串));
mAdapter.notify(AnimationType.ADD,0);
}
@凌驾
公共无效删除(整数位置){
mGoals.移除(位置);
mAdapter.notify(AnimationType.REMOVE,position);
}
@凌驾
公共无效移动(int-from,int-to){
如果(从>=0&&到>=0){
假人设置位置(至);
BatModel model=mGoals.get(from);
mGoals.remove(模型);
mGoals.add(to,model);
mAdapter.notify(AnimationType.MOVE、from、to);
如果(从==0 | |到==0){
mRecyclerView.getView().scrollToPosition(Math.min(from,to));
}
}
}
@凌驾
公共void onClick(BatModel项,int位置){
Toast.makeText(this,item.getText(),Toast.LENGTH_SHORT).show();
}
@凌驾
公共无效onOutsideClicked(){
mRecyclerView.revertAnimation();
}
}
我试着使用这段代码,根据Abhi先生的指示,我只是编辑了一点来删除工具栏,我解决了一些问题

这是我的fragment.java

public class ToDoListFragment extends Fragment implements BatListener, OnItemClickListener, OnOutsideClickedListener {

private BatRecyclerView mRecyclerView;
private BatAdapter mAdapter;
private List<BatModel> mGoals;
private BatItemAnimator mAnimator;

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View root = inflater.inflate(R.layout.todo_list_fragment, null);
    return root;
}

public void onViewCreated(View view, Bundle savedInstanceState) {
    // you can add listener of elements here
  /*Button mButton = (Button) view.findViewById(R.id.button);
    mButton.setOnClickListener(this); */

    ((TextView) view.findViewById(R.id.tdl_date)).setTypeface(TypefaceUtil.getAvenirTypeface(getActivity()));

    mRecyclerView = (BatRecyclerView) view.findViewById(R.id.tdl_bat_recyclerView);
    mAnimator = new BatItemAnimator();

    mRecyclerView.getView().setLayoutManager(new LinearLayoutManager(getActivity()));
    mRecyclerView.getView().setAdapter(mAdapter = new BatAdapter(mGoals = new ArrayList<BatModel>() {{

    }}, this, mAnimator).setOnItemClickListener(this).setOnOutsideClickListener(this));

    ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new BatCallback(this));
    itemTouchHelper.attachToRecyclerView(mRecyclerView.getView());
    mRecyclerView.getView().setItemAnimator(mAnimator);
    mRecyclerView.setAddItemListener(this);

    view.findViewById(R.id.root).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mRecyclerView.revertAnimation();
        }
    });

}

@Override
public void add(String string) {
    mGoals.add(0, new Goal(string));
    mAdapter.notify(AnimationType.ADD, 0);
}

@Override
public void delete(int position) {
    mGoals.remove(position);
    mAdapter.notify(AnimationType.REMOVE, position);
}

@Override
public void move(int from, int to) {
    if (from >= 0 && to >= 0) {
        mAnimator.setPosition(to);
        BatModel model = mGoals.get(from);
        mGoals.remove(model);
        mGoals.add(to, model);
        mAdapter.notify(AnimationType.MOVE, from, to);

        if (from == 0 || to == 0) {
            mRecyclerView.getView().scrollToPosition(Math.min(from, to));
        }
    }
}

@Override
public void onClick(BatModel item, int position) {
    Toast.makeText(getActivity(), item.getText(), Toast.LENGTH_SHORT).show();
}

@Override
public void onOutsideClicked() {
    mRecyclerView.revertAnimation();
}
公共类ToDoListFragment扩展了片段实现BatListener、OnItemClickListener、OnOutsideClickedListener{
私人BatRecyclerView mRecyclerView;
私人蝙蝠适配器;
私人名单;
私人巴蒂姆动画师;
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根=充气器。充气(R.layout.todo\u list\u片段,空);
返回根;
}
已创建视图上的公共void(视图,捆绑保存状态){
//您可以在此处添加元素的侦听器
/*Button mButton=(Button)view.findViewById(R.id.Button);
mButton.setOnClickListener(此)*/
((TextView)view.findviewbyd(R.id.tdl_date)).setTypeface(TypefaceUtil.getAvenirTypeface(getActivity());
mRecyclerView=(BatRecyclerView)view.findViewById(R.id.tdl_bat_recyclerView);
mAnimator=新的BatItemAnimator();
mRecyclerView.getView().setLayoutManager(新的LinearLayoutManager(getActivity());
mRecyclerView.getView().setAdapter(mAdapter=newbatadapter(mGoals=newarraylist()){{
}}setOnItemClickListener(this).setOnOutsideClickListener(this));
ItemTouchHelper ItemTouchHelper=新的ItemTouchHelper(新的BatCallback(this));
itemTouchHelper.attachToRecyclerView(mRecyclerView.getView());
mRecyclerView.getView().setItemAnimator(mAnimator);
mRecyclerView.setAddItemListener(此);
view.findviewbyd(R.id.root).setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
mRecyclerView.revertAnimation();
}
});
}
@凌驾
公共空添加(字符串){
mGoals.add(0,新目标(字符串));
mAdapter.notify(AnimationType.ADD,0);
}
@凌驾
公共无效删除(整数位置){
mGoals.移除(位置);
mAdapter.notify(AnimationType.REMOVE,position);
}
@凌驾
公共无效移动(int-from,int-to){
如果(从>=0&&到>=0){
假人设置位置(至);
BatModel model=mGoals.get(from);
mGoals.remov
public class ToDoList extends Fragment implements BatListener, OnItemClickListener, OnOutsideClickedListener {

    private BatRecyclerView mRecyclerView;
    private BatAdapter mAdapter;
    private List<BatModel> mGoals;
    private BatItemAnimator mAnimator;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
      View root = inflater.inflate(R.layout.todo_list_fragment, null);
    return root;
}

    public void onViewCreated(View view, Bundle savedInstanceState) {
      // you can add listener of elements here
      /*Button mButton = (Button) view.findViewById(R.id.button);
        mButton.setOnClickListener(this); */


        // Navigator
        FoldingTabBar tabBar = (FoldingTabBar) view.findViewById(R.id.folding_tab_bar);

        tabBar.setOnFoldingItemClickListener(new FoldingTabBar.OnFoldingItemSelectedListener() {
            @Override
            public boolean onFoldingItemSelected(@NotNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.menu_profile:
                        Intent intent0 = new Intent(ToDoList.this, Home.class);
                        startActivity(intent0);
                        break;
                    case R.id.menu_todo:
                        break;
                    case R.id.menu_schedule:
                        Intent intent1 = new Intent(ToDoList.this, TimeTable.class);
                        startActivity(intent1);
                        break;
                    case R.id.menu_settings:
                        break;
                }
                return false;
            }
        });

        ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);

        ((TextView) view.findViewById(R.id.text_title)).setTypeface(TypefaceUtil.getAvenirTypeface(this));

        mRecyclerView = (BatRecyclerView) view.findViewById(R.id.bat_recycler_view);
        mAnimator = new BatItemAnimator();

        mRecyclerView.getView().setLayoutManager(new LinearLayoutManager(this));
        mRecyclerView.getView().setAdapter(mAdapter = new BatAdapter(mGoals = new ArrayList<BatModel>() {{

        }}, this, mAnimator).setOnItemClickListener(this).setOnOutsideClickListener(this));

        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new BatCallback(this));
        itemTouchHelper.attachToRecyclerView(mRecyclerView.getView());
        mRecyclerView.getView().setItemAnimator(mAnimator);
        mRecyclerView.setAddItemListener(this);

        view.findViewById(R.id.root).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mRecyclerView.revertAnimation();
            }
        });

    }

    @Override
    public void add(String string) {
        mGoals.add(0, new Goal(string));
        mAdapter.notify(AnimationType.ADD, 0);
    }

    @Override
    public void delete(int position) {
        mGoals.remove(position);
        mAdapter.notify(AnimationType.REMOVE, position);
    }

    @Override
    public void move(int from, int to) {
        if (from >= 0 && to >= 0) {
            mAnimator.setPosition(to);
            BatModel model = mGoals.get(from);
            mGoals.remove(model);
            mGoals.add(to, model);
            mAdapter.notify(AnimationType.MOVE, from, to);

            if (from == 0 || to == 0) {
                mRecyclerView.getView().scrollToPosition(Math.min(from, to));
            }
        }
    }

    @Override
    public void onClick(BatModel item, int position) {
        Toast.makeText(this, item.getText(), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onOutsideClicked() {
        mRecyclerView.revertAnimation();
    }

}