zoukankan      html  css  js  c++  java
  • FragmentActivity的简单使用

    如图是效果图

    当  点击下面 不同 的按钮 进入 不同的界面

    其中 要一个 主布局当做容器 , 和3个不同的 布局来对应下面的3个按钮界面

    主程序的 代码和布局如下

     1 import android.support.v4.app.Fragment;
     2 import android.support.v4.app.FragmentTransaction;
     3 import android.view.View;
     4 import android.widget.Button;
     5 
     6 import com.example.huanshop.activity.R;
     7 import com.example.huanshop.activity.main.MyShopFragment;
     8 import com.example.huanshop.base.BaseFragmentActivity;
     9 
    10 public class ProducteTimeLimit extends BaseFragmentActivity {
    11     private int index;
    12     // 当前fragment的index
    13     private int currentTabIndex;
    14     private TimeLimitShopFragment timeLimitShop;
    15     private TimeLimitQiangShop timeLimitQiangShop;
    16     private MyShopFragment myShopFragment;
    17     private Fragment[] fragments;
    18     private Button[] btnTabs;
    19 
    20     @Override
    21     protected void setContentView() {
    22         // TODO Auto-generated method stub
    23         setContentView(R.layout.timeshop);
    24     }
    25 
    26     @Override
    27     protected void setFindViewById() {
    28         // TODO Auto-generated method stub
    29         btnTabs = new Button[3];
    30         btnTabs[0] = (Button) findViewById(R.id.timelimited);
    31         btnTabs[1] = (Button) findViewById(R.id.lastshop);
    32         btnTabs[2] = (Button) findViewById(R.id.brandshop);
    33         // 把第一个设置成默认选中状态
    34         btnTabs[0].setSelected(true);
    35 
    36     }
    37 
    38     @Override
    39     protected void setControll() {
    40         // TODO Auto-generated method stub
    41         timeLimitShop = new TimeLimitShopFragment();
    42         timeLimitQiangShop = new TimeLimitQiangShop();
    43         myShopFragment = new MyShopFragment();
    44         fragments = new Fragment[] { timeLimitShop, timeLimitQiangShop,
    45                 myShopFragment };
    46         // 添加显示第一个fragment
    47         getSupportFragmentManager().beginTransaction()
    48                 .add(R.id.timeshopfragment, timeLimitShop)
    49                 .add(R.id.timeshopfragment, timeLimitQiangShop)
    50                 .add(R.id.timeshopfragment, myShopFragment)
    51                 .hide(timeLimitQiangShop).hide(myShopFragment)
    52                 .hide(myShopFragment).show(timeLimitShop).commit();
    53     }
    54 
    55     @Override
    56     protected void setListener() {
    57         // TODO Auto-generated method stub
    58 
    59     }
    60 
    61     public void onTabClicked(View view) {
    62         switch (view.getId()) {
    63         case R.id.timelimited:
    64             index = 0;
    65             break;
    66         case R.id.lastshop:
    67             index = 1;
    68             break;
    69         case R.id.brandshop:
    70             index = 2;
    71             break;
    72         }
    73         if (currentTabIndex != 0) {
    74             btnTabs[0].setSelected(false);
    75         }
    76         if (currentTabIndex != index) {
    77             FragmentTransaction trx = getSupportFragmentManager()
    78                     .beginTransaction();
    79             trx.hide(fragments[currentTabIndex]);
    80 
    81             if (!fragments[index].isAdded()) {
    82                 trx.add(R.id.timeshopfragment, fragments[index]);
    83             }
    84             trx.show(fragments[index]).commit();
    85         }
    86         btnTabs[currentTabIndex].setSelected(false);
    87         // 把当前tab设为选中状态
    88         btnTabs[index].setSelected(true);
    89         currentTabIndex = index;
    90     }
    91 
    92 }

    主代码的布局文件

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     style="@style/all_layout_style" >
     4 
     5     <LinearLayout
     6         android:id="@+id/timebtton1"
     7         android:layout_width="match_parent"
     8         android:layout_height="60dp"
     9         android:layout_alignParentBottom="true"
    10         android:background="@color/bottom_bar_normal_bg"
    11         android:gravity="center_vertical"
    12         android:orientation="vertical" >
    13 
    14         <View
    15             android:layout_width="match_parent"
    16             android:layout_height="1dp"
    17             android:background="#999999" />
    18 
    19         <LinearLayout
    20             android:id="@+id/main_bottom"
    21             android:layout_width="match_parent"
    22             android:layout_height="match_parent"
    23             android:background="@color/bottom_bar_normal_bg"
    24             android:gravity="center_vertical"
    25             android:orientation="horizontal" >
    26 
    27             <RelativeLayout
    28                 android:layout_width="0dp"
    29                 android:layout_height="match_parent"
    30                 android:layout_weight="1" >
    31 
    32                 <Button
    33                     style="@style/main_btn"
    34                     android:id="@+id/timelimited"
    35                     android:clickable="true"
    36                     android:drawableTop="@drawable/tab_home_bg"
    37                     android:text="限时购" />
    38             </RelativeLayout>
    39 
    40             <RelativeLayout
    41                 android:layout_width="0dp"
    42                 android:layout_height="match_parent"
    43                 android:layout_weight="1" >
    44 
    45                 <Button
    46                     style="@style/main_btn"
    47                     android:id="@+id/lastshop"
    48                     android:drawableTop="@drawable/tab_classify_bg"
    49                     android:text="最后疯抢" />
    50             </RelativeLayout>
    51 
    52             <RelativeLayout
    53                 android:layout_width="0dp"
    54                 android:layout_height="match_parent"
    55                 android:layout_weight="1" >
    56 
    57                 <Button
    58                     style="@style/main_btn"
    59                     android:id="@+id/brandshop"
    60                     android:drawableTop="@drawable/tab_classify_bg"
    61                     android:text="品牌促销" />
    62             </RelativeLayout>
    63         </LinearLayout>
    64     </LinearLayout>
    65     <!--  -->
    66 
    67     <RelativeLayout
    68         android:id="@+id/timeshopfragment"
    69         android:layout_width="match_parent"
    70         android:layout_height="match_parent"
    71         android:layout_above="@id/timebtton1" >
    72     </RelativeLayout>
    73 
    74 </RelativeLayout>

    其中3个fragment这里值给出一个

      1 import java.util.List;
      2 
      3 import com.android.http.LoadControler;
      4 import com.android.http.RequestManager;
      5 import com.android.http.RequestManager.RequestListener;
      6 import com.example.huanshop.activity.R;
      7 import com.example.huanshop.activity.main.HomeFragment;
      8 import com.example.huanshop.adapter.ProducteTimeAdapter;
      9 import com.example.huanshop.entity.Product;
     10 import com.example.huanshop.util.HttpUtil;
     11 import com.example.huanshop.widget.MyListView;
     12 import com.google.gson.Gson;
     13 import com.google.gson.reflect.TypeToken;
     14 import com.nostra13.universalimageloader.core.ImageLoader;
     15 import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
     16 
     17 import android.content.Intent;
     18 import android.os.Bundle;
     19 import android.support.v4.app.Fragment;
     20 import android.view.LayoutInflater;
     21 import android.view.View;
     22 import android.view.ViewGroup;
     23 import android.widget.AdapterView;
     24 import android.widget.AdapterView.OnItemClickListener;
     25 import android.widget.Toast;
     26 
     27 public class TimeLimitQiangShop extends Fragment implements RequestListener {
     28     private MyListView listView;
     29     private ProducteTimeAdapter listAdapter;
     30     private List<Product> products;
     31     private LoadControler load;
     32     private ImageLoader loader;
     33     private String urlString = HttpUtil.BASEURL + "Product/GetByIsSpecial/4";
     34 
     35     @Override
     36     public View onCreateView(LayoutInflater inflater, ViewGroup container,
     37             Bundle savedInstanceState) {
     38         // TODO Auto-generated method stub
     39         return inflater.inflate(R.layout.producttimeqiang, container, false);
     40     }
     41 
     42     @Override
     43     public void onActivityCreated(Bundle savedInstanceState) {
     44         super.onActivityCreated(savedInstanceState);
     45         setFindViewById();
     46         setListener();
     47         setControll();
     48     }
     49 
     50     private void setFindViewById() {
     51         // TODO Auto-generated method stub
     52         loader = ImageLoader.getInstance();
     53         loader.init(ImageLoaderConfiguration.createDefault(getActivity()));
     54         listView = (MyListView) getActivity().findViewById(R.id.timeqiang);
     55     }
     56 
     57     private void setControll() {
     58         // TODO Auto-generated method stub
     59         load = RequestManager.getInstance().get(urlString, this, 2);
     60     }
     61 
     62     private void setListener() {
     63         // TODO Auto-generated method stub
     64         listView.setOnItemClickListener(new OnItemClickListener() {
     65 
     66             @Override
     67             public void onItemClick(AdapterView<?> parent, View view,
     68                     int position, long id) {
     69                 // TODO Auto-generated method stub
     70                 HomeFragment.kucun = products.get(position).getKucun() + "";
     71                 HomeFragment.Title = products.get(position).getTitle();
     72                 HomeFragment.SmallPic = products.get(position).getSmallPic();
     73                 HomeFragment.Contens = products.get(position).getContens();
     74                 HomeFragment.Price = products.get(position).getPrice() + "";
     75                 HomeFragment.SalePrice = products.get(position).getSalePrice()
     76                         + "";
     77                 HomeFragment.BuyCount = products.get(position).getBuyCount()
     78                         + "";
     79                 HomeFragment.producteId = products.get(position).getId() + "";
     80                 Intent intent = new Intent(getActivity(),
     81                         ProducteDetailsActivity.class);
     82                 // intent.putExtra("positon", position);
     83                 startActivity(intent);
     84             }
     85         });
     86     }
     87 
     88     @Override
     89     public void onError(String arg0, String arg1, int arg2) {
     90         // TODO Auto-generated method stub
     91 
     92     }
     93 
     94     @Override
     95     public void onRequest() {
     96         // TODO Auto-generated method stub
     97 
     98     }
     99 
    100     @Override
    101     public void onSuccess(String arg0, String arg1, int arg2) {
    102         // TODO Auto-generated method stub
    103         switch (arg2) {
    104         case 2:
    105             products = new Gson().fromJson(arg0,
    106                     new TypeToken<List<Product>>() {
    107                     }.getType());
    108             if (products.size() == 0) {
    109                 Toast.makeText(getActivity(), "没有产品", 1000).show();
    110             } else {
    111                 listAdapter = new ProducteTimeAdapter(getActivity(), products);
    112                 listView.setAdapter(listAdapter);
    113                 listAdapter.notifyDataSetChanged();
    114             }
    115         }
    116     }
    117 }
    View Code
  • 相关阅读:
    P4396 [AHOI2013]作业
    NOIP2018普及T2暨洛谷P5016 龙虎斗
    NOIP2018普及T1暨洛谷P5015 标题统计 题解
    【交题大桥】团队信息存档
    markdown浅谈
    洛谷P1690 贪婪的Copy 题解
    洛谷P4994 终于结束的起点 题解
    洛谷P4995 跳跳!题解
    这么多都变了,洛谷4还会远吗?
    洛谷P1396 营救 题解
  • 原文地址:https://www.cnblogs.com/wangfengdange/p/4918323.html
Copyright © 2011-2022 走看看