页面切换是用的Fragment+ViewPager来完成的,三个页面,SaveFragment,ShowFragment,SetFragment,现在在SaveFragment中设置了一个下拉刷新列表,想实现在ShowFragment中的Button点击,将数据保存,并在Save界面下拉刷新出列表,列表即Button点击保存的数据。这对于我来说挺难的,求大神指点,运行程序的时候总是不出现列表。代码贴出:
ShowFragment中的button点击事件的处理:
btnSave.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Log.i(TAG,"执行数据保存操作!");
getActivity().runOnUiThread(new Runnable(){
@Override
public void run(){
MainActivity mainActivity = (MainActivity)getActivity();
SaveFragment saveFragment = mainActivity.getSaveFragment();
//打算让列表以当前时间的名字的形式保存。
//设置时间格式
SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd/HH:mm:ss");
//获取当前时间
long time = System.currentTimeMillis();
//将long转化为Date
Date date = new Date(time);
String timeSave = format.format(date);
Log.i(TAG,"timeSave = " + timeSave);
if(saveFragment != null){
saveFragment.addDateForList(timeSave);
saveFragment.notifyDataSetChanged();
Log.d(TAG,"date has been saved.");
}
}
})
}
});
两个fragment都已经在MainActivity中声明了,
下拉刷新列表的代码如下,我感觉问题在这里,但是我不知道怎么改:
RefreshableView refreshableView = (RefreshableView)view.findViewById(R.id.refreshable_view);
refreshableView.setOnRefreshListener(new RefreshableView.PullToRefreshListener(){
@Override
public void onRefresh(){
try{
//我觉得应该在try里面添加时间,但是不知道怎么去添加。。。
Thread.sleep(3000);
}catch(InterruptedException e){
e.printStackTrace();
}
refreshableView.finishRefreshing();
}
},0);
public void addDateForList(String date){
dateList.add(date);
}
public void notifyDataSetChanged(){
dateAdapter.notifyDataSetChanged();
}
这是用到的主要的代码,程序运行的时候,用log来查看运行的情况的时候,
if里面的log并没有打印出来,不知道怎么修改
if(saveFragment != null){
saveFragment.addDateForList(timeSave);
saveFragment.notifyDataSetChanged();
Log.d(TAG,"date has been saved.");
}
安卓自学小白一枚,求大神路过指教啊~