文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

《Android移动应用基础教程》之川菜菜谱

2022-06-06 14:09

关注

fragment_menu.xml代码:

fragment_content.xml代码:

item_list.xml代码:

activity_main.xml代码:
package com.itcast.a4_6;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.os.Bundle;
public class MainActivity extends Activity {
    private FragmentTransaction beginTransaction;
    //设置文字
    private String[] settingText = {"" +
            "1.将鸡蛋清和淀粉调料调匀成糊,涂抹在肉片上。\n" +
            "2.将花椒、干辣椒慢火炸,待辣椒呈金黄色捞出切成细末。\n" +
            "3.用锅中油爆炒豆瓣辣酱,然后将白菜叶,调料放入。\n" +
            "4.随即放入 肉片,再炖几分钟,肉片熟后,将肉片盛起,将辣椒、花椒末撒上。\n" +
            "5.用植物油烧开,淋在肉片上,即可使麻、辣、浓香四溢。",
            "1、豆腐切丁,香葱、生姜、大蒜、干辣椒切细末备用。\n" +
                    "2、锅内放入油烧热, 先爆香葱末、生姜末、大蒜末、干辣椒末和豆瓣酱,再放入猪肉馅炒熟。\n" +
                    "3、加入适量水,煮开后加入豆腐丁、酱油、白糖煮3分钟。\n" +
                    "4、再用水淀粉勾芡后盛入盘中。\n" +
                    "5、烧热香油,爆香花椒,将花椒油淋在豆腐上即可。\n"};
    //设置图标
    private int[] settingicons = { R.drawable.boiledmeat,R.drawable.mapoytofu};
    private String[] foodNames = {"水煮肉片","麻婆豆腐"};
    //获取图标数组的方法
    public int[] getIcons() {
        return settingicons;
    }
    //获取设置菜品名称的方法
    public String[] getNames() {
        return foodNames;
    }
    //获取设置文字的方法
    public String[] getSettingText() {
        return settingText;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建Fragment
        ContentFragment contentFragment = new ContentFragment();
        MenuFragment menuFragment = new MenuFragment();
        //获取事务
        beginTransaction = getFragmentManager().beginTransaction();
        //添加Fragment
        beginTransaction.replace(R.id.foodcontent, contentFragment);
        beginTransaction.replace(R.id.menu, menuFragment);
        //提交事务
        beginTransaction.commit();
    }
}
ContentFragment.java代码:
package com.itcast.a4_6;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class ContentFragment extends Fragment {
    private View view;
    private TextView mContent;
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //将布局文件解析出来
        view = inflater.inflate(R.layout.fragment_content, container, false);
        if(view != null){   //如果view不为空
            initView();
        }
        //获取Activity中的设置文字
        setText(((MainActivity)getActivity()).getSettingText()[0]);
        return view;
    }
    public void initView(){
        mContent = (TextView) view.findViewById(R.id.content);
    }
    public void setText(String text){
        mContent.setText(text);
    }
}
MenuFragment.java代码:
package com.itcast.a4_6;
import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
@SuppressLint("NewApi")
public class MenuFragment extends Fragment {
    private View view;
    private int[] settingicon;
    private String[] foodNames;
    private String[] settingText;
    private ListView mListView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        //解析布局
        view = inflater.inflate(R.layout.fragment_menu, container, false);
        //获取Acitivty实例对象
        MainActivity activity = (MainActivity) getActivity();
        //获取Activity中的图标数组
        settingicon = activity.getIcons();
        //获取Activity中定义的川菜名称
        foodNames =  activity.getNames();
        //获取Activity中的设置文字数组
        settingText = activity.getSettingText();
        if (view != null) { // 如果view不为空
            initView();
        }
        //为ListView设置条目监听
        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView parent, View view,int position,
                                    long id) {
                //点击左侧的川菜列表item,右侧菜品做法内容相应改变逻辑
                //通过Activity实例获取另一个Fragment实例
                ContentFragment listFragment = (ContentFragment)((MainActivity)
                        getActivity()).getFragmentManager().findFragmentById(R.id.foodcontent);
                //设置菜品类表点击位置对应的菜品做法的Fragment文字
                listFragment.setText(settingText[position]);
            }
        });
        return view;
    }
    //初始化控件的方法
    private void initView() {
        mListView = (ListView) view.findViewById(R.id.menulist);
        if (settingicon != null) {
            mListView.setAdapter(new MyAdapter());
        }
    }
    //适配器
    class MyAdapter extends BaseAdapter {
        @Override
        public int getCount() {
            return settingicon.length;
        }
        @Override
        public Object getItem(int position) {
            return settingicon[position];
        }
        @Override
        public long getItemId(int position) {
            return position;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            convertView = View.inflate(getActivity(), R.layout.item_list, null);
            ImageView mNameTV = (ImageView) convertView
                    .findViewById(R.id.food_icon);
            mNameTV.setBackgroundResource(settingicon[position]);
            TextView mFoodName = (TextView) convertView.findViewById
                    (R.id.food_name);
            mFoodName.setText(foodNames[position]);
            return convertView;
        }
    }
}
MainActivity.java代码:
package com.itcast.a4_6;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.os.Bundle;
public class MainActivity extends Activity {
    private FragmentTransaction beginTransaction;
    //设置文字
    private String[] settingText = {"" +
            "1.将鸡蛋清和淀粉调料调匀成糊,涂抹在肉片上。\n" +
            "2.将花椒、干辣椒慢火炸,待辣椒呈金黄色捞出切成细末。\n" +
            "3.用锅中油爆炒豆瓣辣酱,然后将白菜叶,调料放入。\n" +
            "4.随即放入 肉片,再炖几分钟,肉片熟后,将肉片盛起,将辣椒、花椒末撒上。\n" +
            "5.用植物油烧开,淋在肉片上,即可使麻、辣、浓香四溢。",
            "1、豆腐切丁,香葱、生姜、大蒜、干辣椒切细末备用。\n" +
                    "2、锅内放入油烧热, 先爆香葱末、生姜末、大蒜末、干辣椒末和豆瓣酱,再放入猪肉馅炒熟。\n" +
                    "3、加入适量水,煮开后加入豆腐丁、酱油、白糖煮3分钟。\n" +
                    "4、再用水淀粉勾芡后盛入盘中。\n" +
                    "5、烧热香油,爆香花椒,将花椒油淋在豆腐上即可。\n"};
    //设置图标
    private int[] settingicons = { R.drawable.boiledmeat,R.drawable.mapoytofu};
    private String[] foodNames = {"水煮肉片","麻婆豆腐"};
    //获取图标数组的方法
    public int[] getIcons() {
        return settingicons;
    }
    //获取设置菜品名称的方法
    public String[] getNames() {
        return foodNames;
    }
    //获取设置文字的方法
    public String[] getSettingText() {
        return settingText;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建Fragment
        ContentFragment contentFragment = new ContentFragment();
        MenuFragment menuFragment = new MenuFragment();
        //获取事务
        beginTransaction = getFragmentManager().beginTransaction();
        //添加Fragment
        beginTransaction.replace(R.id.foodcontent, contentFragment);
        beginTransaction.replace(R.id.menu, menuFragment);
        //提交事务
        beginTransaction.commit();
    }
}

实现效果如下:
原创文章 12获赞 18访问量 404 关注 私信 展开阅读全文
作者:MrSuper王


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯