pda/zhuike/.svn/pristine/73/7397444e45e46eaed362d118676...

192 lines
6.1 KiB
Plaintext
Raw Normal View History

2024-02-06 22:23:29 +08:00
package com.novelbook.android.Fragments;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.novelbook.android.MarkActivity;
import com.novelbook.android.R;
import com.novelbook.android.ReadActivity;
import com.novelbook.android.adapter.MarkAdapter;
import com.novelbook.android.db.BookMarks;
import com.novelbook.android.db.Novel;
import com.novelbook.android.utils.PageFactory;
import com.umeng.analytics.MobclickAgent;
import org.litepal.LitePal;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/**
* Created by Administrator on 2016/8/31 0031.
*/
public class BookMarkFragment extends BasicFragment implements MarkActivity.Sortmark{
public static final String TAG=BookMarkFragment.class.getSimpleName();
public static final String ARGUMENT = "argument";
@BindView(R.id.lv_bookmark)
ListView lv_bookmark;
private int novelId;
private String mArgument;
private List<BookMarks> bookMarksList;
private MarkAdapter markAdapter;
private PageFactory pageFactory;
@Override
protected int getLayoutRes() {
return R.layout.fragment_bookmark;
}
@Override
protected void initData() {
Bundle bundle = getArguments();
if (bundle != null) {
novelId = bundle.getInt(ARGUMENT);
}
bookMarksList = new ArrayList<>();
if(pageFactory.getNovle().isLocalBook()){
bookMarksList = LitePal.where("novelId =?", novelId + "").order(String.format("id %s", isAsc ? "asc" : "desc")).find(BookMarks.class);
}else {
String domain = pageFactory.getSite().getDomain();
if (TextUtils.isEmpty(domain)) {
Novel nv = LitePal.find(Novel.class, novelId);
if (nv != null) {
domain = nv.getDomain();
}
}
if (null != domain || !TextUtils.isEmpty(domain)) {
bookMarksList = LitePal.where("novelId = ? and domain= ?", novelId + "", domain).order(String.format("id %s", isAsc ? "asc" : "desc")).find(BookMarks.class);
}
}
Log.d(TAG, "initData: bookmark size " +bookMarksList.size());
markAdapter = new MarkAdapter(getActivity(), bookMarksList);
lv_bookmark.setAdapter(markAdapter);
}
@Override
protected void fillData() {
}
protected void processArguments(){
if (getArguments() != null) {
Bundle bundle = getArguments() ;
}
}
@Override
protected void initListener() {
pageFactory = PageFactory.getInstance(activity.getApplicationContext());
lv_bookmark.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// if( pageFactory.getmAd()==null){
showProgressDialog(true,"正在加载");
Novel nv = LitePal.find(Novel.class,novelId);
nv.setLastReadChapt(bookMarksList.get(position).getChapt());
nv.setLastReadPos(bookMarksList.get(position).getBegin());
nv.update(novelId);
// pageFactory.prepareBook(nv ); //打开本地小说内容
// Log.d(TAG, String.format("prepare book %s 开始open book.",nv.getName()) );
ReadActivity.openBook(nv ,activity);
handler.sendEmptyMessage(99);
/* }else{
pageFactory.openBookmark(bookMarksList.get(position).getChapt(),bookMarksList.get(position).getBegin());
}*/
getActivity().finish();
}
});
lv_bookmark.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
new AlertDialog.Builder(getActivity())
.setTitle("提示")
.setMessage("是否删除书签?")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("删除", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
LitePal.delete(BookMarks.class,bookMarksList.get(position).getId());
bookMarksList.clear();
bookMarksList.addAll(LitePal.where("novelId = ?", novelId+"").find(BookMarks.class));
markAdapter.notifyDataSetChanged();
}
}).setCancelable(true).show();
return false;
}
});
}
@Override
protected void initViews() {
((MarkActivity) getActivity()).setSortmark(this);
}
@Override
public void setFTag() {
}
/**
* 用于从Activity传递数据到Fragment
* @param
* @return
*/
public static BookMarkFragment newInstance(int novelId)
{
Bundle bundle = new Bundle();
bundle.putInt(ARGUMENT, novelId);
BookMarkFragment bookMarkFragment = new BookMarkFragment();
bookMarkFragment.setArguments(bundle);
return bookMarkFragment;
}
boolean isAsc = true;
@Override
public void sortList() {
isAsc =!isAsc;
initData();
}
@Override
public void refresh() {
}
@Override
public void onResume() {
super.onResume();
MobclickAgent.onPageStart(TAG);
}
@Override
public void onPause(){
super.onPause();
MobclickAgent.onPageEnd(TAG);
}
}