现在的问题是,我有个Activity,继承了ListActivity,现在我想在ListView上面显示一行导航,请问如何做?<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" 
android:layout_width="fill_parent"
android:layout_height="fill_parent"><LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
<ImageView android:id="@+id/imgsmall" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:layout_margin="5px"/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="665px" 
android:layout_height="wrap_content">
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
<TextView android:id="@+id/txt1" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:text="名  称:"
android:textSize="22px" />
<TextView android:id="@+id/txtname" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:textSize="22px" />
<TextView android:id="@+id/txt2" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:text="价  格:"
android:textSize="13px" />
<TextView android:id="@+id/txtprice" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:textSize="22px" />
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
<TextView android:id="@+id/txt3" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:text="类  别:"
android:textSize="22px" />
<TextView android:id="@+id/txtmsecondid" 
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textColor="#FFFFFFFF"
android:textSize="22px" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content" 
android:layout_height="wrap_content"
android:layout_gravity="right"
>
<Button android:id="@+id/btselect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|top" 
android:text="详  细"
/>
<Button android:id="@+id/btinsert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom" 
android:text="预  定"
/>
</LinearLayout>
</LinearLayout>

解决方案 »

  1.   

    TabHost我会用,现在的问题是,我整个Activity就是一个大的ListView.我想在ListView上面加点东西,哪怕一个TextView.不知道怎么加....这个Activity继承于ListActivity。XML里面加什么,都会自动跑到ListView中去,.,..呜呜呜呜..
      

  2.   

    ListActivity可以使用自定义的layout,只是必须有一些规定:
    your own view MUST contain a ListView object with the id "@android:id/list" (or list if it's in code)也就是说,只要layout里面有一个listview,并且id按照规定来指定,就行了。
      

  3.   

    问题是,我继承了ListActivity类,XML里面根本没用ListView啊。XML里面放的全部是ListView每行里面的控件,一直这样用的.现在突然要在ListView上面加东西,迷茫了...XML代码在上面,帮忙看看...
    有办法的搞定代码贴出来...说的嘛,太抽象...
      

  4.   

    你还要定义一个主xml,在activity的onCreate里面使用。
      

  5.   


    MyAdapter adapter = new MyAdapter(this);
    setListAdapter(adapter); public class MyAdapter extends BaseAdapter{ private LayoutInflater mInflater;


    public MyAdapter(Context context){
    this.mInflater = LayoutInflater.from(context);
    }
    @Override
    public int getCount() {
    // TODO Auto-generated method stub
    return mData.size();
    } @Override
    public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return null;
    } @Override
    public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return 0;
    } @Override
    public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder = null;
    if (convertView == null) {

    holder=new ViewHolder();  
    convertView = mInflater.inflate(R.layout.cookbooklist, null);
    holder.imgsmall = (ImageView)convertView.findViewById(R.id.imgsmall);
    holder.txtname = (TextView)convertView.findViewById(R.id.txtname);
    holder.txtprice = (TextView)convertView.findViewById(R.id.txtprice);
    holder.txt1 = (TextView)convertView.findViewById(R.id.txt1);
    holder.txtbreak = (TextView)convertView.findViewById(R.id.txtbreak);
    holder.txt2 = (TextView)convertView.findViewById(R.id.txt2);
    holder.txt3 = (TextView)convertView.findViewById(R.id.txt3);
    holder.txt4 = (TextView)convertView.findViewById(R.id.txt4);
    holder.txtmsecondid = (TextView)convertView.findViewById(R.id.txtmsecondid);
    holder.btselect = (Button)convertView.findViewById(R.id.btselect);
    holder.btinsert = (Button)convertView.findViewById(R.id.btinsert);
    convertView.setTag(holder);

    }else {

    holder = (ViewHolder)convertView.getTag();
    }


    holder.imgsmall.setBackgroundResource((Integer)mData.get(position).get("imgsmall"));
    holder.txtname.setText((String)mData.get(position).get("txtname"));
    holder.txtbreak.setText((String)mData.get(position).get("txtbreak"));
    holder.txtmsecondid.setText((String)mData.get(position).get("txtmsecondid"));
    holder.txtprice.setText((String)mData.get(position).get("txtprice"));


    holder.btselect.setOnClickListener(new Select());
    holder.btselect.setTag((String)mData.get(position).get("txtname"));
    holder.btinsert.setOnClickListener(new Insert());
    holder.btinsert.setTag((String)mData.get(position).get("autoid"));

    return convertView;
    }

    }
    class Select implements View.OnClickListener{   
         
            @Override  
            public void onClick(View v) {
               setTitle(v.getTag().toString());
        } 
      }

      class Insert implements View.OnClickListener{   
           
            @Override  
            public void onClick(View v) {
              setTitle(v.getTag().toString());
        } 
      }
    }你的意思在
    MyAdapter adapter = new MyAdapter(this);
    setListAdapter(adapter);前面加上setContentView(R.layout.main)嘛?
    这样不行,我试了...
      

  6.   


    <?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"
        >
    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/hello"
        />
    <ListView
    android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
    android:id="@android:id/list"
    />
    </LinearLayout>
    main.xml
      

  7.   


    import java.util.HashMap;
    import java.util.Vector;import android.app.ListActivity;
    import android.os.Bundle;
    import android.widget.ListAdapter;
    import android.widget.SimpleAdapter;public class UseListActivity extends ListActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            Vector<HashMap<String, String>> data = new Vector<HashMap<String, String>>();
            HashMap<String, String> map;
            
            map = new HashMap<String, String>();
            map.put("m_key", "m_data1");
            map.put("s_key", "s_data1");
            data.add(map);
            
            map = new HashMap<String, String>();
            map.put("m_key", "m_data2");
            map.put("s_key", "s_data2");
            data.add(map);
            
            ListAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2,
             new String[] {"m_key", "s_key"}, new int[] {android.R.id.text1, android.R.id.text2});
            setListAdapter(adapter);
        }
    }
    activity
      

  8.   

    好像跟用Gridview一样啦,我开始就用这种,但是这样ListView里面每行的布局就太繁琐啦。但还是谢谢.
      

  9.   

    [Quote=引用 8 楼 yang79tao 的回复:]
    请问我如果要读取手机里的通讯簿怎么取数据呀?