//主活动代码MainActivity.java
public class MainActivity extends AppCompatActivity {
String[] fruits = {"Apple", "Banana", "Orange", "Watermelon", "Pear", "Grape", "Pineapple",
"Cheery", "Mango", "Apple", "Banana", "Orange", "Watermelon", "Pear"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, fruits);
ListView listView = (ListView)findViewById(R.id.list_view);
listView.setAdapter(adapter);//关联适配器
}
}
//布局文件activity_main.xml
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="水果列表展示"
android:gravity="center_horizontal"
android:textSize="24sp" />
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
界面呈现如下:
![](https://img-blog.csdnimg.cn/80e737aa18ec4220a4ab540cfb7360db.jpeg)
>
> 补充:
> 1、ArrayAdapter adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple\_list\_item\_1, fruits);适配器有很多种,这里我们使用ArrayAdapter来实现,**注意ArrayAdapter的构造函数中依次传入当前上下文(就是当前的Activity),ListView子布局的id,需要适配的数据**。这里的simple\_list\_item\_1是Android内置的布局文件,里面只有一个TextView,用于显示一段简单的文本。
> 2、ListView listView = (ListView)findViewById(R.id.list\_view);**创建ListView对象,通过findViewById()方法找到ListView的id名称,使用(ListView)强制转型**。
> 3、listView.setAdapter(adapter);**调用ListView的setAdapter()方法,就构建好的适配器对象传进去,数据和ListView控件的联系就建立起来了**。
>
>
>
## 实现简单备忘录
准备实现的功能:
* 一个提示输入文字的控件,输入准备添加的文字。
* 点击添加按钮向ListView中添加输入的文字。
* 使用ListView展示添加的数据。
*
按照要求,先实现整体布局。使用LinearLayout线性布局,分别使用TextView、EditView、Button、ListView控件实现大致框架。 布局文件代码如下:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入备忘录内容"
android:gravity="center"
android:textAlignment="center"
android:textSize="24sp" />
<EditText
android:id="@+id/edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="编辑..."/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加到备忘录"/>
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
实现效果:
![](https://img-blog.csdnimg.cn/fe4ba8caa3d045cab97c5fbcdb53f584.jpeg)
为Button对象设置一个监听器,在编辑框输入添加的文字,点击按钮后添加到ListView控件。 主活动代码如下:
public class MainActivity extends AppCompatActivity{
EditText ed;
Button button;
ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.button);
ed = (EditText)findViewById(R.id.edit);
adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1);
ListView listView = (ListView)findViewById(R.id.list_view);
listView.setAdapter(adapter);//关联适配器
adapter.add(“看电影”);
adapter.add(“听歌”);
adapter.add(“看书”);
adapter.add(“吃饭”);
adapter.add(“散步”);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
String add = ed.getText().toString();
adapter.add(add);
}
});
}
}
补充:
* 细心的朋友会发现上面的代码里并没有传入ArrayAdapter构造函数所需的第三个参数,而是采用adapter自带的add()方法初始化了一些数据。
* 点击按钮后,获取添加的文字赋给String型变量add,再使用add()方法添加到ListView中实现整个功能。
实现效果如下(添加文字前):
![](https://img-blog.csdnimg.cn/a95f52821454446781134bffd8f14e1d.png)
添加文字后:
![](https://img-blog.csdnimg.cn/02fe4d7b80ab412992860a3b6ea08e32.png)
## 总结
**如果你进阶的路上缺乏方向,可以扫描下方二维码加入我们的圈子和安卓开发者们一起学习交流!**
以下全部内容都可以在微信中获取!
![](https://img-blog.csdnimg.cn/d64145006ab34b5f811a68bed546ed01.png)
* Android进阶学习全套手册
![img](https://img-blog.csdnimg.cn/img_convert/03fd2846f3a30d919e923725e10ee4c3.png)
* Android对标阿里P7学习视频
![img](https://img-blog.csdnimg.cn/img_convert/ee869341247772b32a44565cbfbe91e7.png)
* BATJ大厂Android高频面试题
![img](https://img-blog.csdnimg.cn/img_convert/970885d3d86b87ec5b93b96e0f6893aa.png)