zoukankan      html  css  js  c++  java
  • 安卓学习-activity-Fragment

    左边列表,右边明细

    activity_main1.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:showDividers="middle" >
    
        <fragment
            android:id="@+id/fragment1"
            android:name="com.exa.books.ListFrag"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3" />
    
        <fragment
            android:id="@+id/fragment2"
            android:name="com.exa.books.MxFrag"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3" />
    
    </LinearLayout>
    View Code

    MainActivity.java

    public class MainActivity extends Activity implements ListFrag.CallBacks{
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main1);
        }
        //实现回调方法
        @Override
        public void onItemSelect(HashMap<String, String> map) {
            Bundle b=new Bundle();
            b.putSerializable("map", map);
            MxFrag mxFrag=new MxFrag();
            mxFrag.setArguments(b);
            getFragmentManager().beginTransaction().replace(R.id.fragment2, mxFrag).commit();
        }
    }
    View Code

    list.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:padding="20dp" >
    
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="书名:"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="编号:"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
    </LinearLayout>
    View Code

    ListFrag.java

    //书的列表
    public class ListFrag extends ListFragment {
    
        //回调接口
        public interface CallBacks{
            public void onItemSelect(HashMap<String, String> map);
        }
        
        
        List<HashMap<String, String>> data=new ArrayList<HashMap<String, String>>();
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO 自动生成的方法存根
            super.onCreate(savedInstanceState);
            HashMap<String, String> map=new HashMap<String, String>();
            map.put("bh", "00001");
            map.put("name", "java学习");
            data.add(map);
            HashMap<String, String> map1=new HashMap<String, String>();
            map1.put("bh", "00002");
            map1.put("name", "delphi学习");
            data.add(map1);
            HashMap<String, String> map2=new HashMap<String, String>();
            map2.put("bh", "00003");
            map2.put("name", "C#学习");
            data.add(map2);
        
            SimpleAdapter adapter=new SimpleAdapter(getActivity(), data,R.layout.list,new String[]{"bh","name"},new int[]{R.id.textView2,R.id.textView4});
            setListAdapter(adapter);
    
        }
        
        //触发回调接口
        @Override
        public void onListItemClick(ListView l, View v, int position, long id) {
            HashMap<String, String> map=data.get(position);
            mCallBacks.onItemSelect(map);
        }
    
        private CallBacks mCallBacks;
        
    @Override
    public void onAttach(Activity activity) {
        // TODO 自动生成的方法存根
        super.onAttach(activity);
        mCallBacks=(CallBacks)activity;
    }
    }
    View Code

    mx.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/textView2"
            android:layout_toRightOf="@+id/textView2"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="编号"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/textView2"
            android:layout_alignLeft="@+id/textView6"
            android:layout_marginLeft="28dp"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView1"
            android:text="书名"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView2"
            android:text="介绍"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/textView3"
            android:text="价格"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
    </RelativeLayout>
    View Code

    MxFrag.java

    public class MxFrag extends Fragment {
    
        
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO 自动生成的方法存根
            super.onCreate(savedInstanceState);
            
        }
        
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            
            View view= inflater.inflate(R.layout.mx, null);
            
            Bundle b=getArguments();
            if(b!=null){
                Map map=(Map)b.getSerializable("map");
                String bh=map.get("bh")+"";
                String name=map.get("name")+"";
                TextView textView5=(TextView)view.findViewById(R.id.textView5);
                TextView textView6=(TextView)view.findViewById(R.id.textView6);
                textView5.setText(bh);
                textView6.setText(name);
            }
    
            return view;
        }
    }
    View Code
  • 相关阅读:
    QT生成流水账号
    Qt实现端口扫描器
    Qtablevies获取内容
    Qt中暂停线程的执行
    Qt经典出错信息之undefined reference to `vtable for classname
    Qt中 QString 和int, char等的“相互”转换
    caffe实现自己的层
    获取minist数据并转换成lmdb
    命名空间下接类,比如common.cpp
    caffe这个c++工程的目录结构
  • 原文地址:https://www.cnblogs.com/weijj/p/4175621.html
Copyright © 2011-2022 走看看