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
  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/wangfengdange/p/4918323.html
Copyright © 2011-2022 走看看