Android的刷卡查看帮助需要 [英] Android Swipe View help needed
问题描述
我有一个刷卡活动
,2刷卡页面,我加了第一页和第二页的内容被复制的内容,我怎么可以设置不同内容到第二页我刷卡看法?
公共类ListItemClicked扩展ActionBarActivity {静态捆绑演员;SectionsPagerAdapter mSectionsPagerAdapter;
静态ImageLoader的ImageLoader的;
静态DisplayImageOptions选择;ViewPager mViewPager;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState);
的setContentView(R.layout.list_item_clicked); mSectionsPagerAdapter =新SectionsPagerAdapter(getSupportFragmentManager()); 演员= getIntent()getExtras()。 mViewPager =(ViewPager)findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
ImageLoaderConfiguration配置=新ImageLoaderConfiguration.Builder(本).build();
ImageLoader的= ImageLoader.getInstance();
imageLoader.init(配置); //为ImageLoader的所以它会处理缓存为我们设置选项。
选项=新DisplayImageOptions.Builder()
.cacheInMemory()
.cacheOnDisc()
。建立();}
公共类SectionsPagerAdapter扩展FragmentPagerAdapter { 公共SectionsPagerAdapter(FragmentManager FM){
超(FM);
} @覆盖
公共片段的getItem(INT位置){
返回PlaceholderFragment.newInstance(位置+ 1);
} @覆盖
公众诠释的getCount(){
返回2;
} @覆盖
公共CharSequence的getPageTitle(INT位置){
区域设置L = Locale.getDefault();
开关(位置){
情况下0:
返回的getString(R.string.title_section4).toUpperCase(升);
情况1:
返回的getString(R.string.title_section5).toUpperCase(升);
}
返回null;
}
}
公共静态类PlaceholderFragment扩展片段{
私有静态最后弦乐ARG_SECTION_NUMBER =SECTION_NUMBER;
公共静态的newInstance PlaceholderFragment(INT sectionNumber){
PlaceholderFragment片段=新PlaceholderFragment();
捆绑ARGS =新包();
args.putInt(ARG_SECTION_NUMBER,sectionNumber);
fragment.setArguments(参数);
返回片段;
} 公共PlaceholderFragment(){
} @覆盖
公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,
捆绑savedInstanceState)
{ 查看rootView = inflater.inflate(R.layout.fragment_list_item_clicked,集装箱,FALSE);
TextView的PDATE =(TextView中)rootView.findViewById(R.id.textView);
pDate.setText(extras.getString(PDATE));
TextView的ptitle =(TextView中)rootView.findViewById(R.id.section_label);
ptitle.setText(extras.getString(PNAME));
TextView的pnText =(TextView中)rootView.findViewById(R.id.textView2);
pnText.setText(extras.getString(pText)); 返回rootView;
}
}}
Android开发者网站真的有ViewPager的很好的解释。您应该检查一下:
http://developer.android.com/training/animation/screen-slide.html
下面是我写的一个例子:
activity_screen_slide.xml
< android.support.v4.view.ViewPager
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:ID =@ + ID /寻呼机
机器人:layout_width =match_parent
机器人:layout_height =match_parent/>
Java的code:
进口android.support.v4.app.Fragment;
进口android.support.v4.app.FragmentManager;
...公共类ScreenSlidePagerActivity扩展FragmentActivity { 私有静态最终诠释NUM_PAGES = 2;
私人ViewPager mPager;
私人PagerAdapter mPagerAdapter; @覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_screen_slide); mPager =(ViewPager)findViewById(R.id.pager);
mPagerAdapter =新ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
} @覆盖
公共无效onBack pressed(){
如果(mPager.getCurrentItem()== 0){
super.onBack pressed();
}其他{
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
}
} 私有类ScreenSlidePagerAdapter扩展FragmentStatePagerAdapter {
公共ScreenSlidePagerAdapter(FragmentManager FM){
超(FM);
} @覆盖
公共片段的getItem(INT位置){
//创建这些片段与preferable名
开关(位置){
情况下0:
返回新ScreenSlidePageFragment();
情况1:
返回新ScreenSlidePageFragment2();
默认:
打破;
}
} @覆盖
公众诠释的getCount(){
返回NUM_PAGES;
}
}
}
这是你的看法应该像它,凡fragment_ screen_slide_page是你的布局之一:
进口android.support.v4.app.Fragment;
...公共类ScreenSlidePageFragment扩展片段{ @覆盖
公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){ ViewGroup中rootView =(ViewGroup中)inflater.inflate(R.layout.fragment_screen_slide_page,集装箱,FALSE); 返回rootView;
}
}
您应该真正读懂Android开发者网站了解更多详情。
I have a swipe Activity
, with 2 swipe pages, I added the content for the first page and on the second page the content is duplicated, how can I set different content to the second page in my swipe view?
public class ListItemClicked extends ActionBarActivity {
static Bundle extras;
SectionsPagerAdapter mSectionsPagerAdapter;
static ImageLoader imageLoader;
static DisplayImageOptions options;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_item_clicked);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
extras = getIntent().getExtras();
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();
imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
//Setup options for ImageLoader so it will handle caching for us.
options = new DisplayImageOptions.Builder()
.cacheInMemory()
.cacheOnDisc()
.build();
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PlaceholderFragment.newInstance(position + 1);
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return getString(R.string.title_section4).toUpperCase(l);
case 1:
return getString(R.string.title_section5).toUpperCase(l);
}
return null;
}
}
public static class PlaceholderFragment extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_list_item_clicked, container, false);
TextView pDate = (TextView) rootView.findViewById(R.id.textView);
pDate.setText( extras.getString("pdate") );
TextView ptitle = (TextView) rootView.findViewById(R.id.section_label);
ptitle.setText(extras.getString("pname"));
TextView pnText = (TextView) rootView.findViewById(R.id.textView2);
pnText.setText( extras.getString("pText"));
return rootView;
}
}
}
Android Developers site really has very good explanation of ViewPager. You should check it out: http://developer.android.com/training/animation/screen-slide.html
Here is an example I wrote:
activity_screen_slide.xml
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Java Code:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
...
public class ScreenSlidePagerActivity extends FragmentActivity {
private static final int NUM_PAGES = 2;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_screen_slide);
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
@Override
public void onBackPressed() {
if (mPager.getCurrentItem() == 0) {
super.onBackPressed();
} else {
mPager.setCurrentItem(mPager.getCurrentItem() - 1);
}
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
//Create these fragments with your preferable names
switch (position) {
case 0:
return new ScreenSlidePageFragment();
case 1:
return new ScreenSlidePageFragment2();
default:
break;
}
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
}
And here is one of your views that should look like it where fragment_ screen_slide_page is one of your layouts:
import android.support.v4.app.Fragment;
...
public class ScreenSlidePageFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.fragment_screen_slide_page, container, false);
return rootView;
}
}
You should really read the android developers site for further details.
这篇关于Android的刷卡查看帮助需要的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!