package ru.perm.trubnikov.gps2sms; import android.app.Dialog; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.view.View; import android.widget.AdapterView; import android.widget.RelativeLayout; import java.util.ArrayList; public class RepoCoordsFragment extends RepoFragment { protected final static int DIALOG_COORD_PROPS_ID = 5; protected ArrayList<Integer> mPointIds = new ArrayList<Integer>(); protected int actionCoordsId; protected void setLongClickHandler () { getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { //Toast.makeText(getActivity(), "On long click listener, arg2=" + arg2 + " arg3=" + arg3 + " mId(arg2)="+mPointIds.get(arg2), Toast.LENGTH_LONG).show(); actionCoordsId = mPointIds.get(arg2); getActivity().showDialog(DIALOG_COORD_PROPS_ID); return true; } }); } protected void rebuildList() { ArrayList<String> mFirstLine = new ArrayList<String>(); ArrayList<String> mSecondLine = new ArrayList<String>(); DBHelper dbHelper = new DBHelper(getActivity()); SQLiteDatabase db = dbHelper.getWritableDatabase(); String sqlQuery = "SELECT d._id, d.name, d.coord FROM mycoords as d ORDER BY d._id DESC"; Cursor mCur = db.rawQuery(sqlQuery, null); if (mCur.moveToFirst()) { int idColIndex = mCur.getColumnIndex("_id"); int nameColIndex = mCur.getColumnIndex("name"); int valCoordIndex = mCur.getColumnIndex("coord"); mPointIds.clear(); do { mFirstLine.add(mCur.getString(nameColIndex)); mSecondLine.add(mCur.getString(valCoordIndex)); mPointIds.add(mCur.getInt(idColIndex)); } while (mCur.moveToNext()); } mCur.close(); dbHelper.close(); mFirstLines = mFirstLine.toArray(new String[mFirstLine.size()]); mSecondLines = mSecondLine.toArray(new String[mSecondLine.size()]); setListAdapter(new RepoListAdapter( getActivity(), mFirstLines, mSecondLines )); } @Override protected String getDialogTitle(String s) { return s; } protected void dialogAdjustment(Dialog dialog) { dialog.findViewById(R.id.btnSave2).setVisibility(View.GONE); RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) btnMap.getLayoutParams(); params.addRule(RelativeLayout.LEFT_OF, 0); params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); btnMap.setLayoutParams(params); //causes layout update } protected void addExtraButtons(final Dialog dialog) { } }