Java tutorial
/** public String getmImgurl() { return mImgurl; } public void setmImgurl(String mImgurl) { this.mImgurl = mImgurl; } public boolean ismCname() { return mCname; } public void setmCname(boolean mCname) { this.mCname = mCname; } public long getmDesc() { return mDesc; } public void setmDesc(long mDesc) { this.mDesc = mDesc; } public boolean ismPrice() { return mPrice; } public void setmPrice(boolean mPrice) { this.mPrice = mPrice; } * Copyright 2013 Ognyan Bankov * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.icareyou.food; import java.util.ArrayList; import com.icareyou.food.DaoMaster.DevOpenHelper; import com.openfooddata.app.misc.ReportsArrayAdapter; import android.app.Activity; import android.content.res.Configuration; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.SearchView; public class ReportViewFragment extends Fragment implements SearchView.OnQueryTextListener { protected static final String TAG = "nevin"; // Private member for UI private ListView mlvProduct; private ArrayList<Reports> mEntries = new ArrayList<Reports>(); private ReportsArrayAdapter mAdapter; private SearchView mSearchView; // Private member for DB operation private SQLiteDatabase db; private DaoMaster mDaoMaster; private DaoSession mDaoSession; private ReportsDao mReportsDAO; public static String REPORT_ID = "report_id"; private int mViewing_report = 0; OnWatchClickedListener mCallback; // Container Activity must implement this interface public interface OnWatchClickedListener { public void onWatchClicked(); } public void applyFilter() { // Clear the filter on old fragment to avoid duplicate popup msg for // listview // When swipe to new fragment, will set filter text again in // onPrepareOptionsMenu if (mlvProduct != null) { Log.v(TAG, "Fragment[" + mViewing_report + "] applyFilter"); mlvProduct.clearTextFilter(); } } // Clear the filer and text in searchview when configuration changed public void clearFilter() { if (mlvProduct != null && mSearchView != null) { Log.v(TAG, "Fragment[" + mViewing_report + "] clearFilter"); mlvProduct.clearTextFilter(); mSearchView.setQuery("", true); } } public void updateUI() { if (this.mAdapter != null) { mEntries = (ArrayList<Reports>) mReportsDAO.queryBuilder() .where(ReportsDao.Properties.Reportid.eq(mViewing_report)) .orderDesc(ReportsDao.Properties.Watched).orderDesc(ReportsDao.Properties.Companyname).list(); mDaoSession.clear(); this.mAdapter.addAll(mEntries); this.mAdapter.notifyDataSetChanged(); } } public void closeDB() { if (this.db != null && db.isOpen()) db.close(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setHasOptionsMenu(true); } @Override public void onAttach(Activity activity) { super.onAttach(activity); // This makes sure that the container activity has implemented // the callback interface. If not, it throws an exception try { mCallback = (OnWatchClickedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnHeadlineSelectedListener"); } } @Override public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); mSearchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); setupSearchView(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_reports_view, container, false); // Setup DB operation DevOpenHelper helper = new DaoMaster.DevOpenHelper(this.getActivity(), "foodabc-db", null); db = helper.getWritableDatabase(); mDaoMaster = new DaoMaster(db); mDaoSession = mDaoMaster.newSession(); mReportsDAO = mDaoSession.getReportsDao(); // if (this.getArguments()==null){return null;} mViewing_report = this.getArguments().getInt(REPORT_ID); mDaoSession.clear(); mEntries = (ArrayList<Reports>) mReportsDAO.queryBuilder() .where(ReportsDao.Properties.Reportid.eq(mViewing_report)).orderDesc(ReportsDao.Properties.Watched) .orderDesc(ReportsDao.Properties.Companyname).list(); Log.v(TAG, "Fragment onCreateView mViewing_report:" + mViewing_report); mlvProduct = (ListView) rootView.findViewById(R.id.lv_picasa); mAdapter = new ReportsArrayAdapter(this.getActivity(), 0, mEntries, mCallback); mlvProduct.setAdapter(mAdapter); mlvProduct.setTextFilterEnabled(true); return rootView; } @Override public boolean onQueryTextChange(String newText) { if (TextUtils.isEmpty(newText)) { mlvProduct.clearTextFilter(); } else { mlvProduct.setFilterText(newText.toString()); } return true; } @Override public boolean onQueryTextSubmit(String query) { return false; } private void setupSearchView() { mSearchView.setIconifiedByDefault(true); mSearchView.setOnQueryTextListener(this); mSearchView.setSubmitButtonEnabled(false); // mSearchView.setQueryHint(getString(R.string.product_hunt_hint)); mSearchView.setQueryHint(getString(R.string.search_hint)); if (mSearchView.getQuery() != null) this.mlvProduct.setFilterText(mSearchView.getQuery().toString()); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); Log.v(TAG, "Fragment[" + mViewing_report + "] onConfigurationChanged"); this.clearFilter(); } }