安卓开发入门基础之静态加载与fragment的搭配使用

Main.xml构思布局

  • 放1个垂直线性布局和fragment(碎片)
  • 垂直线性布局里再放1个textview作为标题,1个listview作为选择列表
  • 由于使用到了fragment,后面还需要通过自定义Myfragment来切换界面

bg.xml

  • 布局为一个textview文本框即可,主要是显示左部listview的每一项标题

activity_fragrment.xml构思布局

  • 总体是垂直线性布局
  • 往里面添加1个垂直的线性布局,1个textview文本框
  • 接着往垂直的线性布局里面添加1个imageview图片,1个button按钮

Myfragment.java

  • 自定义Myfragment来实现切换界面的效果
  • 并且要绑定 activity_fragrment.xml
public class Myfragment extends Fragment {

    private Button btn;

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

        View inflate = inflater.inflate(R.layout.activity_fragrment, container, false);
        btn = inflate.findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TextView txt1 = getActivity().findViewById(R.id.text2);
                txt1.setText(txt1.getText().toString().substring(0,4));
                txt1.setText(txt1.getText().toString()+"下单成功!");
                Toast.makeText(getContext(),txt1.getText().toString(),Toast.LENGTH_SHORT).show();
            }


        });
        return inflate;
    }
}

Mainactivity.java

  • 获取Listview控件,使用适配器绑定Listview
  • 还需要创建自定义的Myfragment对象

public class MainActivity extends AppCompatActivity {

    private ListView listview;
    List<String> list=new ArrayList<>();
    private ArrayAdapter<String> adapter;
    String[] items = new String[]{"酒水饮料", "休闲零食", "方便速食", "糖巧饼干", "牛奶乳品", "冲调营养", "粮油调味", "个护清洁", "纸品洗涤", "日用百货"};
    int images[] = new int[]{R.drawable.water,R.drawable.lingshi,R.drawable.sushi,R.drawable.tang,R.drawable.milk,R.drawable.chongtiao,R.drawable.tiaowei,R.drawable.qingjie,R.drawable.zhi,R.drawable.baihuo};

    private Button btn;
    private TextView txt2;
    private Myfragment fragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try {
            listview = (ListView) findViewById(R.id.list);

            adapter =new ArrayAdapter<String>(MainActivity.this,R.layout.bg,items);

            listview.setAdapter(adapter);
            listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view, int i, long l) {

                    btn = (Button) findViewById(R.id.button);
                    btn.setEnabled(true);

                    FragmentManager fragmentManager = getSupportFragmentManager();
                    fragment = (Myfragment) fragmentManager.findFragmentById(R.id.ly_fragment);
                    ImageView image = fragment.getView().findViewById(R.id.image);
                    image.setImageResource(images[i]);

                    txt2 = (TextView) findViewById(R.id.text2);
                    txt2.setText(items[i]);

                }
            });

        }catch (Exception ignore){
            Toast.makeText(getApplicationContext(),"1111",Toast.LENGTH_SHORT).show();
        }

    }
}

设计完成效果图

  • 首次进入APP,显示首页,且按钮不可点击

在这里插入图片描述

  • 点击 listview 上的酒水饮料可以实现界面切换,而且此时按钮恢复可以点击,底部提示语也更改为酒水饮料

在这里插入图片描述

  • 点击下单按钮,会有提示,且底部提示语也会变

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【无痕干货营】

如果帮助到您,欢迎打赏一下我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值