我必须创建一个Horizontallistview
,但我不知道从哪里开始我尝试进行google
搜索但是我找不到任何有关xamarin的人有没有任何想法?一个是应该有自定义行布局
编辑:
好的我找到了这个教程,但代码是java,我必须将其转换为c#
http://www.dev-smart.com/archives/34
第一个问题是HorizontalListview扩展了Activity,但是我必须子类,我该怎么做?
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;
}
};
}
答案 0 :(得分:1)
您可以查看此ListView教程here
答案 1 :(得分:0)
结帐twoway-view。在twoway-view上小tutorial。
答案 2 :(得分:0)
将Java代码移植到C#并不是那么难。大多数情况下,您可以尝试编写方法大写的第一个字母。 super
变为base
。 Java不知道为什么SetFoo()
和/或GetFoo()
成为C#中的属性Foo
的属性。 R
必须为Resource
。
在C#中,您使用“:”进行子类化,因此第一部分将如下所示。
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小部件。