Android 将活动转换为片段
我在我的项目中做了一个导航,比我有活动,我会把菜单从那些活动变成导航。所以我需要将这些活动转换为片段 这是我的第一个activity.javaAndroid 将活动转换为片段,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
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();
}
}