首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建HorizontalListView?

如何创建HorizontalListView?
EN

Stack Overflow用户
提问于 2015-04-16 13:49:57
回答 3查看 115关注 0票数 1

我必须创建一个Horizontallistview,但是我不知道从哪里开始,我试着做了一个google搜索,但是我找不到任何关于xamarin的东西,有人有什么想法吗?其中之一是应该有一个自定义的行布局

编辑:

好的,我找到了这个教程,但是代码是java的,我必须把它转换成c#。

http://www.dev-smart.com/archives/34

第一个问题是HorizontalListview扩展了Activity,但是我不得不子类化,我该怎么做呢?

代码语言:javascript
复制
public class HorizontalListViewDemo extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.listviewdemo);

        HorizontialListView listview = (HorizontialListView) findViewById(R.id.listview);
        listview.setAdapter(mAdapter);

    }

    private static String[] dataObjects = new String[]{ "Text #1",
        "Text #2",
        "Text #3" }; 

    private BaseAdapter mAdapter = new BaseAdapter() {


        public override int getCount() {
            return dataObjects.length;
        }


        public override Object getItem(int position) {
            return null;
        }


        public override long getItemId(int position) {
            return 0;
        }


        public override View getView(int position, View convertView, ViewGroup parent) {
            View retval = LayoutInflater.from(parent.getContext()).inflate(R.layout.viewitem, null);
            TextView title = (TextView) retval.findViewById(R.id.title);
            title.setText(dataObjects[position]);

            return retval;
        }

    };

}
EN

回答 3

Stack Overflow用户

发布于 2015-04-16 14:09:39

您可以在here上浏览此ListView教程

票数 1
EN

Stack Overflow用户

发布于 2015-04-16 14:27:10

查看twoway-view。双向视图上的小tutorial

票数 0
EN

Stack Overflow用户

发布于 2015-04-16 16:34:06

将Java代码移植到C#并不难。大多数情况下,您可以尝试将方法的第一个字母写成大写。super就变成了base。Java不知道属性,这就是为什么SetFoo()和/或GetFoo()会成为C#中的属性FooR必须为Resource

在C#中,您可以使用":“作为子类,因此第一部分将如下所示。

代码语言:javascript
复制
public class HorizontalListViewDemo : Activity
{    
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        SetContentView(Resource.Layout.listviewdemo);

        //this is possible
        HorizontialListView listview = (HorizontialListView) FindViewById(Resource.Id.listview);

        //but this is also a way to go
        HorizontialListView listview = FindViewById<HorizontialListView>(Resource.Id.listview);

        listview.Adapter = mAdapter;

        ...
    }
}

另一种解决方案可以是ViewPager小部件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29666320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档