您的位置:首页 > 移动开发 > Android开发

安卓小日记练习(11)listview的动态更新和android的字符串处理

2016-10-01 00:38 459 查看
主界面点击加号,编辑之后:*(添加当日日记)



本来第九天的框框是没有的,编辑返回之后出现,设置加号的点击事件,启动编辑的活动,由于我们使用全局变量,所以可以在编辑界面直接改list.

最核心的思路就是新建一个对象,然后在list的最后面插入。

思路:设置主界面下栏加号图片的点击事件,开启editActivity。并用intent传递数据,传递数据的时候,day 和 星期都相应增加一。

在editactivity中获取intent数据,并且利用它们构造一个新的day变量,插入list中即可。

 

注意:editActivity,有可能是以前的日记添加(点击小黑点进入),由于是这种情况的处理代码是遍历list并判断,是不可能找到当前新添加那一天的,但是当前新加的那一天需要判断,而且要注意string的判断,不要忘记判断非空,否则会空指针异常。

if(!(ad==null||ad.length()<=0) && ad.equals("add"))
{
Day day = new Day(w,da,inputText);
ListAll.data.add(day);
}


点击事件的核心代码:

String sday = Integer.toString(Integer.parseInt(ListAll.data.get(ListAll.data.size()-1).getDay())+1);
String sweek = ListAll.data.get(ListAll.data.size()-1).getWeek();
if(sweek.equals("MON"))
sweek = "TUE";
else if(sweek.equals("TUE"))
sweek = "WED";
else if(sweek.equals("WED"))
sweek = "THU";
else if(sweek.equals("THU"))
sweek = "FRI";
else if(sweek.equals("FRI"))
sweek = "SAT";
else if(sweek.equals("SAT"))
sweek = "SUN";
else if(sweek.equals("SUN"))
sweek = "MON";
Intent intent = new Intent(MainActivity.this, EditActivity.class);
intent.putExtra("week2",sweek);
intent.putExtra("day2", sday);
intent.putExtra("add","add");
intent.putExtra("year2",yearmenu);
intent.putExtra("month2", monthmenu);
startActivity(intent);


另:红色的显示:

(颜色的改变)

else if(w.equals("SUN"))
{
w2 = "SUNDAY";
tv1.setTextColor(Color.rgb(255, 0, 0));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息