Fragment的用法
模拟微信界面,可滑动切换,也可以点击下面图标切换
public class MainActivity extends FragmentActivity {
private MyFirstFragment myFirstFragment;
private MySecondFragment mySecondFragment;
private MyThirdFragment myThirdFragment;
private FragmentManager mFragmentmanager;
private RadioGroup mRadioGroup;
private ViewPager mViewPager;
private FragmentPagerAdapter mAdapter;
private List<Fragment> mFragments;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFragmentmanager = getSupportFragmentManager();
mFragments = new ArrayList<>();
myFirstFragment = new MyFirstFragment();
mySecondFragment = new MySecondFragment();
myThirdFragment = new MyThirdFragment();
mFragments.add(myFirstFragment);
mFragments.add(mySecondFragment);
mFragments.add(myThirdFragment);
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mRadioGroup = (RadioGroup) findViewById(R.id.radiogroup);
mAdapter = new MyFragmentAdapter(mFragmentmanager,mFragments);
mViewPager.setAdapter(mAdapter);
mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
switch (checkedId){
case R.id.radiobutton1:
mViewPager.setCurrentItem(0);
break;
case R.id.radiobutton2:
mViewPager.setCurrentItem(1);
break;
case R.id.radiobutton3:
mViewPager.setCurrentItem(2);
break;
}
}
});
mRadioGroup.check(R.id.radiobutton1);
}
需要写一个adapter,注意继承FragmentPagerAdapter,复写相关方法,
public class MyFragmentAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragments;
public MyFragmentAdapter(FragmentManager fm, List<Fragment> mFragments) {
super(fm);
this.mFragments = mFragments;
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
}
布局文件,注意viewpager的写法,要写完整的包名
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<RadioGroup
android:id="@+id/radiogroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:background="@color/gray">
<RadioButton
android:id="@+id/radiobutton1"
style="@style/main_activity"
android:background="@drawable/msg_background"/>
<RadioButton
android:id="@+id/radiobutton2"
style="@style/main_activity"
android:background="@drawable/fri_background" />
<RadioButton
android:id="@+id/radiobutton3"
style="@style/main_activity"
android:background="@drawable/dyn_background" />
</RadioGroup>
</LinearLayout>
数据存储
java课程中讲过三种存储方式:
1、文本存储
2、MySql 数据库存储
3、网络存储—Server Lite
Android中有五种存储方式:
1、xml存储
2、文件存储,包括缓存和本地文件
3、数据库—SQLite(最新版本是SQLite3)
4、网络存储
5、ContentProvider 最常见的是手机联系人的存储
存储分为内部存储和外部存储
public class MainActivity extends Activity implements View.OnClickListener{
private TextView mTextview;
private EditText mEditText;
private Button mButtonRead;