如何学习在Android Studio中基于SimpleAdapterActivity的线性布局
时间: 2023-05-30 15:05:22 浏览: 69
学习基于SimpleAdapterActivity的线性布局需要掌握以下步骤:
1. 在Android Studio中创建一个新的项目。
2. 在res/layout文件夹中创建一个新的XML布局文件,用于定义线性布局和列表视图。
3. 在MainActivity.java文件中创建一个SimpleAdapterActivity类,并在onCreate()方法中实例化SimpleAdapterActivity。
4. 在SimpleAdapterActivity类中,创建一个用于填充列表视图的SimpleAdapter对象,并将其设置为列表视图的适配器。
5. 在SimpleAdapterActivity类中,定义一个ArrayList对象,用于存储要显示的列表项数据。
6. 在SimpleAdapterActivity类的onCreate()方法中,将数据添加到ArrayList中。
7. 在SimpleAdapterActivity类的onCreate()方法中,使用SimpleAdapter对象将数据绑定到列表视图中。
8. 运行应用程序,查看结果并进行调试。
可以参考以下代码实现:
1. 创建一个新的XML布局文件,定义线性布局和列表视图。
```xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
```
2. 在MainActivity.java文件中创建一个SimpleAdapterActivity类,并在onCreate()方法中实例化SimpleAdapterActivity。
```java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SimpleAdapterActivity simpleAdapterActivity = new SimpleAdapterActivity();
}
}
```
3. 在SimpleAdapterActivity类中,创建一个用于填充列表视图的SimpleAdapter对象,并将其设置为列表视图的适配器。
```java
public class SimpleAdapterActivity {
private ListView listView;
public SimpleAdapterActivity() {
listView = (ListView) findViewById(R.id.listView);
SimpleAdapter adapter = new SimpleAdapter(
this,
getData(),
R.layout.list_item,
new String[] {"name", "age"},
new int[] {R.id.name, R.id.age});
listView.setAdapter(adapter);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("name", "Alice");
map.put("age", 20);
list.add(map);
map = new HashMap<>();
map.put("name", "Bob");
map.put("age", 21);
list.add(map);
// add more data...
return list;
}
}
```
4. 在SimpleAdapterActivity类中,定义一个ArrayList对象,用于存储要显示的列表项数据。
```java
public class SimpleAdapterActivity {
private ListView listView;
private List<Map<String, Object>> data;
public SimpleAdapterActivity() {
listView = (ListView) findViewById(R.id.listView);
data = new ArrayList<>();
data.add(createItem("Alice", 20));
data.add(createItem("Bob", 21));
// add more data...
SimpleAdapter adapter = new SimpleAdapter(
this,
data,
R.layout.list_item,
new String[] {"name", "age"},
new int[] {R.id.name, R.id.age});
listView.setAdapter(adapter);
}
private Map<String, Object> createItem(String name, int age) {
Map<String, Object> map = new HashMap<>();
map.put("name", name);
map.put("age", age);
return map;
}
}
```
5. 在SimpleAdapterActivity类的onCreate()方法中,将数据添加到ArrayList中。
```java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SimpleAdapterActivity simpleAdapterActivity = new SimpleAdapterActivity();
simpleAdapterActivity.addData("Alice", 20);
simpleAdapterActivity.addData("Bob", 21);
// add more data...
}
}
public class SimpleAdapterActivity {
private ListView listView;
private List<Map<String, Object>> data;
public SimpleAdapterActivity() {
listView = (ListView) findViewById(R.id.listView);
data = new ArrayList<>();
SimpleAdapter adapter = new SimpleAdapter(
this,
data,
R.layout.list_item,
new String[] {"name", "age"},
new int[] {R.id.name, R.id.age});
listView.setAdapter(adapter);
}
public void addData(String name, int age) {
data.add(createItem(name, age));
((SimpleAdapter) listView.getAdapter()).notifyDataSetChanged();
}
private Map<String, Object> createItem(String name, int age) {
Map<String, Object> map = new HashMap<>();
map.put("name", name);
map.put("age", age);
return map;
}
}
```
6. 在SimpleAdapterActivity类的onCreate()方法中,使用SimpleAdapter对象将数据绑定到列表视图中。
```java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SimpleAdapterActivity simpleAdapterActivity = new SimpleAdapterActivity();
simpleAdapterActivity.addData("Alice", 20);
simpleAdapterActivity.addData("Bob", 21);
// add more data...
}
}
public class SimpleAdapterActivity extends Activity {
private ListView listView;
private List<Map<String, Object>> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_adapter);
listView = (ListView) findViewById(R.id.listView);
data = new ArrayList<>();
SimpleAdapter adapter = new SimpleAdapter(
this,
data,
R.layout.list_item,
new String[] {"name", "age"},
new int[] {R.id.name, R.id.age});
listView.setAdapter(adapter);
}
public void addData(String name, int age) {
data.add(createItem(name, age));
((SimpleAdapter) listView.getAdapter()).notifyDataSetChanged();
}
private Map<String, Object> createItem(String name, int age) {
Map<String, Object> map = new HashMap<>();
map.put("name", name);
map.put("age", age);
return map;
}
}
```
8. 运行应用程序,查看结果并进行调试。