Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android列表内部布局_Android_Listview_Layout - Fatal编程技术网

android列表内部布局

android列表内部布局,android,listview,layout,Android,Listview,Layout,我正在开发一款Android应用程序,它需要在布局[view]中显示一个列表[table] 我来自iPhone dev objC land,我有一个应用程序,在视图[layout]中显示一个表[list] 那么如何在我的布局中显示列表,并将其放置到指定的位置[中心] 另外,我还没有在xml的图形布局编辑器中找到列表,列表[表]在哪里? 2.我已经用列表视图做了一些测试,但它是一个视图,它取代了xml视图,我希望它在我的xml中 非常感谢 是的,当然可以 1此处需要listholder.xml,您

我正在开发一款Android应用程序,它需要在布局[view]中显示一个列表[table]

我来自iPhone dev objC land,我有一个应用程序,在视图[layout]中显示一个表[list]

那么如何在我的布局中显示列表,并将其放置到指定的位置[中心]

另外,我还没有在xml的图形布局编辑器中找到列表,列表[表]在哪里? 2.我已经用列表视图做了一些测试,但它是一个视图,它取代了xml视图,我希望它在我的xml中


非常感谢

是的,当然可以

1此处需要listholder.xml,您可以在布局视图中抓取任何内容,如imageview、textview等。只是别忘了在里面添加ListView。例如:

3在您的活动中创建customAdapter,如下所示

public class MyListActivity extends ListActivity {

private ArrayList<Yourdata> yourdata = new ArrayList<Youdata>();
        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listholder);    
               // yourdata might be array, arraylist etc. 

               MyCustomAdapter listadapter = new MyCustomAdapter(this, R.layout.listitem, yourdata);

          setListAdapter(listadapter);
}

private class MyCustomAdapter extends ArrayAdapter<Yourdata>{
                //this case, i use Yourdata as type
        private ArrayList<Yourdata> items;

        public PreviousAdapter(Context context, int textViewResourceId,
                ArrayList<Yourdata> items) {
            super(context, textViewResourceId, items);
            this.items = items;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if(v == null) {
                LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vi.inflate(R.layout.listitem, null);
            }
            Yourdata yt = items.get(position);
            if(yt != null){
             // Don't forget to use v.findView...., otherwise, it might force close when run app.
                TextView dateStr = (TextView)v.findViewById(R.id.date_value);

                    dateStr.setText(yt.getDate());
            }   
            return v;
        }



      }


}
另外,上面的代码可能不完全正确。。。给你一个想法: 这是一个关于自定义列表的源代码,你可能已经看过了,希望有用


我试过这些例子,非常好

你可以从


你到底想让我们做什么?为u???@Richa设计布局,不,这不是我的目标,我想知道是否有可能在布局中放置一个列表[包含其他元素],而不是让名单占据这个洞screen@mako是的,在版面中放置列表是很有可能的,只需将列表的高度设置为换行内容,并且列表所在的父版面应该禁用滚动。@MaKo:唯一可能的是,您需要为listview指定固定高度,否则它将不会在下面显示视图列表
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listitemone"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10sp">

    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:orientation="vertical">
            <ImageView android:id="@+id/user_image"
                android:layout_width="80px" android:layout_height="80px"
                android:layout_alignParentLeft="true"
                android:layout_marginRight="5px"
                android:src="@drawable/icon"
                />
    </LinearLayout>
    <RelativeLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="5sp"
        android:orientation="vertical">
            <TextView
                android:id="@+id/date_label"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/date"
                android:textStyle="bold"
            android:textSize="16sp" />
            <TextView
                android:id="@+id/date_value"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignBaseline="@id/date_label"
                android:layout_marginRight="20sp"
                android:textColor="#FFF"
                android:text="MM/dd/YYYY"
                android:textStyle="bold"
            android:textSize="16sp" />
      </RelativeLayout>
</LinerLayout>
public class MyListActivity extends ListActivity {

private ArrayList<Yourdata> yourdata = new ArrayList<Youdata>();
        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listholder);    
               // yourdata might be array, arraylist etc. 

               MyCustomAdapter listadapter = new MyCustomAdapter(this, R.layout.listitem, yourdata);

          setListAdapter(listadapter);
}

private class MyCustomAdapter extends ArrayAdapter<Yourdata>{
                //this case, i use Yourdata as type
        private ArrayList<Yourdata> items;

        public PreviousAdapter(Context context, int textViewResourceId,
                ArrayList<Yourdata> items) {
            super(context, textViewResourceId, items);
            this.items = items;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if(v == null) {
                LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vi.inflate(R.layout.listitem, null);
            }
            Yourdata yt = items.get(position);
            if(yt != null){
             // Don't forget to use v.findView...., otherwise, it might force close when run app.
                TextView dateStr = (TextView)v.findViewById(R.id.date_value);

                    dateStr.setText(yt.getDate());
            }   
            return v;
        }



      }


}