編輯:關於Android編程
android listview多列模版
在listview中,可以做出多列模版的效果,關鍵還是在listview的模版本,比如如下:
<LinearLayout android:id="@+id/relativeLayout1" android:layout_height="fill_parent" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/FirstText" android:layout_width="0dp" android:layout_height="wrap_content" android:text="First" android:layout_weight="1"> </TextView> <TextView android:id="@+id/SecondText" android:layout_width="0dp" android:layout_height="wrap_content" android:text="Second" android:layout_weight="2"> </TextView> <TextView android:id="@+id/ThirdText" android:layout_width="0dp" android:layout_height="wrap_content" android:text="Third" android:layout_weight="1"> </TextView> <TextView android:id="@+id/FourthText" android:layout_width="0dp" android:layout_height="wrap_content" android:text="Fourth" android:layout_weight="1"> </TextView> </LinearLayout>
listviewadapter.java:
public class listviewAdapter extends BaseAdapter { public ArrayList<HashMap<String,String>> list; Activity activity; public listviewAdapter(Activity activity, ArrayList<HashMap<String,String>> list) { super(); this.activity = activity; this.list = list; } public int getCount() { // TODO Auto-generated method stub return list.size(); } public Object getItem(int position) { // TODO Auto-generated method stub return list.get(position); } public long getItemId(int position) { // TODO Auto-generated method stub return 0; } private class ViewHolder { TextView txtFirst; TextView txtSecond; TextView txtThird; TextView txtFourth; } public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // TODO Auto-generated method stub ViewHolder holder; LayoutInflater inflater = activity.getLayoutInflater(); if (convertView == null) { convertView = inflater.inflate(R.layout.listview_row, null); holder = new ViewHolder(); holder.txtFirst = (TextView) convertView.findViewById(R.id.FirstText); holder.txtSecond = (TextView) convertView.findViewById(R.id.SecondText); holder.txtThird = (TextView) convertView.findViewById(R.id.ThirdText); holder.txtFourth = (TextView) convertView.findViewById(R.id.FourthText); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } HashMap<String, String> map = list.get(position); holder.txtFirst.setText(map.get(FIRST_COLUMN)); holder.txtSecond.setText(map.get(SECOND_COLUMN)); holder.txtThird.setText(map.get(THIRD_COLUMN)); holder.txtFourth.setText(map.get(FOURTH_COLUMN)); return convertView; }
主程序:
public class MultiColumnActivity extends Activity { private ArrayList<HashMap<String,String>> list; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView lview = (ListView) findViewById(R.id.listview); populateList(); listviewAdapter adapter = new listviewAdapter(this, list); lview.setAdapter(adapter); } private void populateList() { list = new ArrayList<HashMap<String,String>>(); HashMap<String,String> temp = new HashMap<String,String>(); temp.put(FIRST_COLUMN,"Colored Notebooks"); temp.put(SECOND_COLUMN, "By NavNeet"); temp.put(THIRD_COLUMN, "Rs. 200"); temp.put(FOURTH_COLUMN, "Per Unit"); list.add(temp); HashMap<String,String> temp1 = new HashMap<String,String>(); temp1.put(FIRST_COLUMN,"Diaries"); temp1.put(SECOND_COLUMN, "By Amee Products"); temp1.put(THIRD_COLUMN, "Rs. 400"); temp1.put(FOURTH_COLUMN, "Per Unit"); list.add(temp1); HashMap<String,String> temp2 = new HashMap<String,String>(); temp2.put(FIRST_COLUMN,"Note Books and Stationery"); temp2.put(SECOND_COLUMN, "By National Products"); temp2.put(THIRD_COLUMN, "Rs. 600"); temp2.put(FOURTH_COLUMN, "Per Unit"); list.add(temp2); HashMap<String,String> temp3 = new HashMap<String,String>(); temp3.put(FIRST_COLUMN,"Corporate Diaries"); temp3.put(SECOND_COLUMN, "By Devarsh Prakashan"); temp3.put(THIRD_COLUMN, "Rs. 800"); temp3.put(FOURTH_COLUMN, "Per Unit"); list.add(temp3); HashMap<String,String> temp4 = new HashMap<String,String>(); temp4.put(FIRST_COLUMN,"Writing Pad"); temp4.put(SECOND_COLUMN, "By TechnoTalaktive Pvt. Ltd."); temp4.put(THIRD_COLUMN, "Rs. 100"); temp4.put(FOURTH_COLUMN, "Per Unit"); list.add(temp4); } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
之前在eclipse上進行開發的時候,要去除Activity的的默認標題欄,我習慣使用的方法是用下面這行代碼:requestWindowFeature(Window.FE
大家先看下效果圖:Android為我們提供了四種應組件,分別為Activity、Service、Broadcast receivers和Content providers
本文將介紹運動傳感器(Motion Sensors)、位置傳感器(Position Sensors)、環境傳感器(Environment Sensors)。如需訪問官方原
一、技術准備今天我們來看一下如何修改Android中編譯時的資源Id的值,在講解這內容之前,我們需要先了解一下Android中的資源編譯之後的結構和編譯過程,這裡就不多說