【问题标题】:How I can change ListView items when PagerSlidingTabStrip position changed in xamarin当 PagerSlidingTabStrip 位置在 xamarin 中更改时如何更改 ListView 项目
【发布时间】:2016-06-20 08:39:47
【问题描述】:

我想制作 PagerSlidingTabStrip,如果标签位置发生变化,我将从特定的字符串数组加载数据。 它只改变整数而不改变字符串!

当我使用 textview 更改任何整数值时,此代码工作正常

        public override Android.Views.View OnCreateView (Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Bundle savedInstanceState)
    {
        var root = inflater.Inflate(Resource.Layout.fragment_card, container, false);
        var text = root.FindViewById<TextView> (Resource.Id.textView);

        if (position==0)
        {
            text.Text = "Card: " + position;
            //greeting();
        }

        ViewCompat.SetElevation(root, 50);
        return root;
    }

但我无法更改 ListView 适配器

        data d = new data();
    private void getGreeting()
    {
        var list = FindViewById<ListView>(Resource.Id.listview);
        list.Adapter = new ArrayAdapter<String>(this, Android.Resource.Layout.SimpleListItem1, d.greeting);

    }

这是我的数据类

public class data
{
    public string[] greeting = { "1)Բարև- Barev", "2)  ինչպե՞ս ես  - inchpes es ",
        "3) Իմ անունն է...Ինչ է քո անունը  - Im anunn e...inch e qo anune?",
        "4) Ո՞րտեղից ես- vorteghits es?", "5)  Ո՞րտեղ ես դու ապրում -Vortegh es du aprum?",
        "6) Հաճելի է ծանոթանալ - hajeli e tsanotanal", "7)  Ինձ նույնպես - Indz nuynpes","8 )  Ինչ է սա  - inch e sa? ",
        "9) Ո՞րտեղ ես կարող եմ գտնել հյուրանոց  - vortegh es karogh em gtnel hyuranots ?",
        "10) Ո՞րտեղ կարող եմ գտնել բնակարան - vortegh karogh em gtnel bnakaran" };
}

【问题讨论】:

  • 请问你能把我的帖子标记为这个问题的正确答案吗?它是一个 StackOverflow 的 goo 实践。真的很感激

标签: c# android xamarin pagerslidingtabstrip


【解决方案1】:

然后让你的Activity 实现ViewPager.IOnPageChangeListener

tabs = FindViewById<PagerSlidingTabStrip>(Resource.Id.tabs);

tabs.OnPageChangeListener = this;

然后实施:

public void OnPageScrollStateChanged(int state)
{
    Console.WriteLine("Page scroll state changed: " + state);
}

public void OnPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
    Console.WriteLine("Page Scrolled");
}

public void OnPageSelected(int position)
{
    // Here get the new data and reloadData from list
}

【讨论】:

  • 它告诉我我有 NullReferenceException,说“对象引用未设置为对象的实例。” -- @jzeferino
  • 当我尝试将数据加载到列表视图 list.Adapter = new ArrayAdapter(this,Reource.layout.simple_list_item_1,items)
  • 您能提供更多信息吗?什么是空的?这几项?名单?
  • 感谢您抽出宝贵的时间,我在没有片段动画的情况下以另一种方式制作它并且工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多