package com.reigns.todolist;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private ArrayAdapter<String> adapter;
private Button addBtn;
public ArrayList<String> list = new ArrayList();
private ListView mlv;
private TodoListDatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mlv = findViewById(R.id.listView);
addBtn = findViewById(R.id.addbtn);
mlv.setOnCreateContextMenuListener(MainActivity.this);
db = new TodoListDatabaseHelper(this);
if (db.queryAll() != null) {
list = db.queryAll();
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list);
mlv.setAdapter(adapter);
}
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, AddPage.class);
startActivityForResult(intent, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
String add = data.getStringExtra("editTextValue");
if (!add.equals("null")) {
if (db.queryAll() != null) {
list = db.queryAll();
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list);
adapter.add(add);
db.insert(add);
adapter.notifyDataSetChanged();
mlv.setAdapter(adapter);
} else {
list = new ArrayList<>();
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list);
adapter.add(add);
db.insert(add);
adapter.notifyDataSetChanged();
mlv.setAdapter(adapter);
}
}
}
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, 1, 0, "删除");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int pos = (int) mlv.getAdapter().getItemId(menuInfo.position);
String remove = list.remove(pos);
db.delete(remove);
adapter.notifyDataSetChanged();
Toast.makeText(this, "删除成功", Toast.LENGTH_SHORT).show();
return super.onContextItemSelected(item);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Android课程设计 ToDoList备忘录 SQLite,高分课程设计,可一键运行 - 运行中有什么问题可以私聊博主,本人高级安卓工程师,主页置顶有常见爆红解决的方法 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 -------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
资源推荐
资源详情
资源评论
收起资源包目录
ToDoList-master.zip (42个子文件)
ToDoList-master
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 53KB
gradle-wrapper.properties 232B
app
src
androidTest
java
com
reigns
todolist
ExampleInstrumentedTest.java 754B
test
java
com
reigns
todolist
ExampleUnitTest.java 380B
main
java
com
reigns
todolist
TodoListDatabaseHelper.java 3KB
AddPage.java 2KB
MainActivity.java 3KB
res
mipmap-xxhdpi
ic_launcher_round.png 12KB
ic_launcher.png 8KB
mipmap-hdpi
ic_launcher_round.png 5KB
ic_launcher.png 4KB
drawable-v24
ic_launcher_foreground.xml 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
mipmap-mdpi
ic_launcher_round.png 3KB
ic_launcher.png 3KB
mipmap-xxxhdpi
ic_launcher_round.png 16KB
ic_launcher.png 10KB
mipmap-xhdpi
ic_launcher_round.png 7KB
ic_launcher.png 5KB
values
colors.xml 208B
strings.xml 71B
styles.xml 383B
layout
activity_main.xml 1KB
activity_add_page.xml 1KB
drawable
ic_launcher_background.xml 5KB
select_radiobutton.xml 470B
select_radiobutton_add.xml 470B
AndroidManifest.xml 767B
proguard-rules.pro 751B
build.gradle 932B
.gitignore 7B
gradlew.bat 2KB
build.gradle 564B
.idea
codeStyles
Project.xml 3KB
runConfigurations.xml 564B
misc.xml 357B
gradle.xml 680B
settings.gradle 43B
gradlew 5KB
.gitignore 208B
共 42 条
- 1
资源评论
.Android安卓科研室.
- 粉丝: 4391
- 资源: 2444
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- rpi4b基于uboot通过nfs挂载最新主线Linux内核的注意事项
- Cocos2d-x教程视频TMX地图解析
- Cocos2d-x教程视频CocosStudio 2.0 文件格式解析
- 基于 Van.js 的简单前端路由组件(支持字符串和正则表达式匹配等).zip
- Cocos2d-x教程视频CocosStudio 2.0 容器控件
- 学习资源-07~11,备份
- (源码)基于Flink和Kafka的实时用户行为日志分析系统.zip
- (源码)基于Arduino的机器人避障系统.zip
- Cocos2d-x教程视频Cocos2d-x游戏实战项目开发记忆卡片
- (源码)基于FreeRTOS和RP2040的实时操作系统应用模板.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功