首先,建立一个新的Android Studio项目,以下是实现记事本app的步骤:
1. 布局设计
在布局文件中添加一个EditText,一个Button和一个ListView,EditText用于输入文字,Button用于添加文字到List中,ListView用于显示新增加的条目。
2. 功能实现
在Activity中,首先需要声明一个ArrayAdapter用于List的显示和维护一个List
```java
public class MainActivity extends AppCompatActivity {
private EditText inputEditText;
private Button addButton;
private ListView contentListView;
private ArrayAdapter
private List
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
inputEditText = (EditText)findViewById(R.id.input_editText);
addButton = (Button)findViewById(R.id.add_button);
contentListView = (ListView)findViewById(R.id.content_listView);
contentList = new ArrayList
adapter = new ArrayAdapter
contentListView.setAdapter(adapter);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String inputContent = inputEditText.getText().toString();
if(!TextUtils.isEmpty(inputContent)){
contentList.add(inputContent);
adapter.notifyDataSetChanged();
inputEditText.setText("");
}
}
});
}
}
```
在onClick方法中,获取EditText的字符串,并判断其是否为空。如果不为空,则将其加入List中,调用adapter.notifyDataSetChanged()来刷新ListView数据,清空EditText。
这样,用户就可以通过EditText输入内容并点击Button添加到ListView中了。
3. 其他功能实现
在ListView中,用户可以长按已添加的数据,在弹出菜单中可以选择删除该数据的操作。在onCreate方法中,为ListView添加ContextMenuStripListener监听:
```java
contentListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
final String selectedItem = contentList.get(position);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Delete?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
contentList.remove(selectedItem);
adapter.notifyDataSetChanged();
}
});
builder.setNegativeButton("No", null);
builder.show();
return true;
}
});
```
在长按List条目时,弹出对话框询问用户是否确定删除该数据。如果用户点击Yes,就将该数据从List中删除,再调用adapter.notifyDataSetChanged()来刷新ListView的数据。
以上是安卓studio开发记事本app的实例,其中EditText用于用户输入文本,Button添加文本到List中,ListView用于显示添加的文本,并支持长按删除文本等操作。