以下為res/layout/activity_main.xml分別有Design和Text中所要修改的地方為Text,而所要做修正的部份為"android.support.constraint.constraintLayout"改為"LinearLayout"其餘的地方維持不變。
以下為res/layout/activity_main.xml修改為"LinearLayout",並另外新增一個ListView的原件。
以下為res/layout/activity_main.xml修改為"LinearLayout",並另外新增一個ListView的原件。
以下為res/layout/activity_main.xml的Design圖片。
另為在res/layout/中新增一個style_listview.xml。
而修正的部份為"android.support.constraint.constraintLayout"改為"LinearLayout"其餘的地方維持不變。
以下為style_listview.xml修改為"LinearLayout",並另為外新增三個TextView的原件。
以下為以下為style_listview.xml的程式碼 :
<LinearLayoutandroid:id="@+id/llBorder"android:layout_width="match_parent"android:layout_height="wrap_content"android:padding="5dp"><TextViewandroid:id="@+id/tvLocal"android:layout_width="92dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="TextView"android:textColor="@android:color/holo_red_dark"android:textSize="20sp" /><TextViewandroid:id="@+id/tvName"android:layout_width="154dp"android:layout_height="wrap_content"android:layout_weight="2"android:text="TextView"android:textColor="@android:color/background_dark"android:textSize="20sp" /><TextViewandroid:id="@+id/tvcach"android:layout_width="154dp"android:layout_height="wrap_content"android:layout_weight="3"android:text="TextView"android:textColor="@android:color/holo_blue_dark"android:textSize="20sp"android:textStyle="bold" /></LinearLayout>
以下為res/layout/style_listview.xml的Design圖片。
下面的程式碼為參考網路上的相關資料撰寫而成的,而這部份只局限於JAVA中的MainActivity.java中。
package aixstudio.listview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { //ListView 要顯示的內容 public String[][] data = { {"●","沙拉類","價格"}, {"。","水果生菜","120"}, {"。","鮮蝦生菜","180"}, {"。","和風洋蔥 ","80"}, {"●","日式小菜類","價格"}, {"。","海膽山藥 "," 70"}, {"。","北歐沙拉 "," 80"}, {"●","熱炒類","價格"}, {"。","泡菜炒牛肉"," 180"}, {"。","清炒牛蒡"," 110"}, {"。","麻油松阪豬"," 200"}, {"。","牛肉奶油燒"," 360"}, {"●","煮物類","價格"}, {"。","味噌湯"," 40"}, {"。","海苔清湯"," 40"}, {"。","鮮魚味噌湯"," 80"}, {"。","山藥鮮魚湯"," 80"}, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //將資料轉換成<key,value>的型態 List<Map<String, Object>> items = new ArrayList<Map<String,Object>>(); for (int i=0;i < data.length;i++){ Map<String, Object> item = new HashMap<String, Object>(); item.put("level", data[i][0]); item.put("name", data[i][1]); item.put("cach", data[i][2]); items.add(item); } //帶入對應資料 SimpleAdapter adapter = new SimpleAdapter( this, items, R.layout.style_listview, new String[]{"level", "name","cach"}, new int[]{R.id.tvLocal, R.id.tvName ,R.id .tvcach } ); ListView listview = (ListView) findViewById(R.id.listview); listview.setAdapter(adapter); } }
下圖為使用模擬器所使用的結果。