Gar*_*rry 5 android android-fragments android-viewpager fragmentpageradapter xamarin
我正在使用Xamarin,这是我第二次尝试使用ViewPager.我已经从头开始创建了一个应用程序,参考了这个网站链接:http://looksok.wordpress.com/2013/10/26/android-support-v4-viewpager-tutorial-including-source-code/
应用程序编译,部署,但仅显示空白黑屏.
这是我的完整代码:
MainActivity.cs
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Support.V4.App;
using Android.Support.V4.View;
namespace AndroidViewPagerTutorial
{
[Activity (Label = "AndroidViewPagerTutorial", MainLauncher = true)]
public class MainActivity : FragmentActivity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.activity_main);
MyPagerAdapter pageAdapter = new MyPagerAdapter(SupportFragmentManager);
var pager = FindViewById<ViewPager>(Resource.Id.myViewPager);
pager.Adapter = pageAdapter;
pager.SetCurrentItem (0, true);
}
}
}
Run Code Online (Sandbox Code Playgroud)
MyPagerAdapter.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Support.V4.App;
namespace AndroidViewPagerTutorial
{
public class MyPagerAdapter : FragmentPagerAdapter {
private List<Android.Support.V4.App.Fragment> fragments;
int fragmentCount;
public MyPagerAdapter(Android.Support.V4.App.FragmentManager fm) : base(fm)
{
this.fragments = new List<Android.Support.V4.App.Fragment>();
fragments.Add(new FragmentOrange());
fragments.Add(new FragmentGreen());
fragments.Add(new FragmentRed());
fragmentCount = fragments.Count;
}
#region implemented abstract members of PagerAdapter
public override int Count
{
get
{
return fragmentCount;
}
}
#endregion
#region implemented abstract members of FragmentPagerAdapter
public override Android.Support.V4.App.Fragment GetItem (int position)
{
return fragments[position];
}
#endregion
}
}
Run Code Online (Sandbox Code Playgroud)
FragmentOrange.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace AndroidViewPagerTutorial
{
public class FragmentOrange : Android.Support.V4.App.Fragment
{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.Inflate(Resource.Layout.fragment_orange, container, false);
return view;
}
}
}
Run Code Online (Sandbox Code Playgroud)
fragment_green.axml
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace AndroidViewPagerTutorial
{
public class FragmentGreen : Android.Support.V4.App.Fragment
{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.Inflate(Resource.Layout.fragment_green, container, false);
return view;
}
}
}
Run Code Online (Sandbox Code Playgroud)
fragment_red.axml
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
namespace AndroidViewPagerTutorial
{
public class FragmentRed : Android.Support.V4.App.Fragment
{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.Inflate(Resource.Layout.fragment_red, container, false);
return view;
}
}
}
Run Code Online (Sandbox Code Playgroud)
activity_main.axml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/myViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
fragment_orange.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Run Code Online (Sandbox Code Playgroud)
fragment_green.axml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_green_dark" />
Run Code Online (Sandbox Code Playgroud)
fragment_red.axml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_red_light" />
Run Code Online (Sandbox Code Playgroud)
我可以请一些帮助让这个工作吗?
提前致谢
我已经让代码工作了。
这是每个片段需要更改的内容:
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3656 次 |
| 最近记录: |