fragment

package com.jky.fragment.test;

public class User {
    private int id;
}
public class MyListFragment extends ListFragment implements OnItemClickListener{
    ListView listView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        this.setHasOptionsMenu(true);
        super.onCreate(savedInstanceState);
    }
    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        // TODO Auto-generated method stub
        showDetail(position);
    }
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
//        listView = this.getListView();
        //设置适配器
        ArrayAdapter adapter = ArrayAdapter.createFromResource(this.getActivity(), 
                R.array.week, 
                android.R.layout.simple_list_item_1);
        this.setListAdapter(adapter);
        this.getListView().setOnItemClickListener(this);
        showDetail(0);
        super.onActivityCreated(savedInstanceState);
    }

    public void showDetail(int position){
        //显示对应的fragment:替换
                FragmentManager fm = this.getFragmentManager();
                //这是旧的fragment,有可能为空
                Fragment old_fragment = fm.findFragmentById(R.id.framelayout);
                //这是新产生的fragmetn
                MyContentFragment new_fragment = MyContentFragment.getInstance(position);
                //启动事务来替换
                if(old_fragment!=null&&old_fragment.getArguments().getInt("index")==position){
                    //啥事不用干
                    return;
                }
                FragmentTransaction fragmentTransaction = fm.beginTransaction();
                fragmentTransaction.replace(R.id.framelayout, new_fragment);
                fragmentTransaction.addToBackStack(null);
                fragmentTransaction.commit();
    }
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // TODO Auto-generated method stub
        menu.add(0, 0, 0, "菜单");
        super.onCreateOptionsMenu(menu, inflater);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        Toast.makeText(getActivity(), "新建成功", 1).show();
        return super.onOptionsItemSelected(item);
    }
    
    
}
public class MyContentFragment extends Fragment{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        TextView tv = new TextView(this.getActivity());
        //如果选择的是星期一,new 一个星期的fragment
        Bundle bundle = (Bundle) this.getArguments();
        int weekday = bundle.getInt("index");
        switch (weekday) {
        case 0:
            //星期一
            tv.setText("今天是星期一,心情平缓");
            break;
        case 1:
            //星期二
            tv.setText("今天是星期一,心情麻木");
            break;
        case 2:
            //星期三
            tv.setText("今天是星期二,心情萎靡");
            break;
        case 3:
            //星期四
            tv.setText("今天是星期一,心情急躁");
            break;
        case 4:
            //星期五
            tv.setText("今天是星期一,心情激动");
            break;
        default:
            break;
        }
        return tv;
    }

    
    public static MyContentFragment getInstance(int position){
        MyContentFragment new_fragment = new MyContentFragment();
        Bundle bundle = new Bundle();
        bundle.putInt("index", position);
        new_fragment.setArguments(bundle);
        return new_fragment;
    }
}

 

posted @ 2014-10-24 22:58  hefen84  阅读(161)  评论(0)    收藏  举报