Android ext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getStri

Android ext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getStri,android,android-4.0-ice-cream-sandwich,android-2.3-gingerbread,Android,Android 4.0 Ice Cream Sandwich,Android 2.3 Gingerbread,ext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getString(8)); String prezzo=c.getString(3).替换(“,”,”); crociera.setPrezzo(Float.parseFloat(prezzo)); crociera.setNomePortoPartenz

ext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getString(8)); String prezzo=c.getString(3).替换(“,”,”); crociera.setPrezzo(Float.parseFloat(prezzo)); crociera.setNomePortoPartenza(c.getString(27)); crociera.setDataPartenza(c.getString(1)); crociera.setArrival_potr_id(c.getString(19)); 藏红花; crociera.setDataArrivo(“”); crociera.setGiorno(c.getString(1).子字符串(0,2)); setMese(crociera.getDataPartenza()); setnnoti(Integer.parseInt(c.getString(4)); if(listaPromo.contains(crociera.getCruiseId())){ 藏红花(真); Log.v(标签,“Promo:+crociera.getCruiseId()); }否则{ 藏红花(假); } 添加(crociera); } } c、 去激活(); c、 close(); ListView lvCrociere=(ListView)findViewById(R.id.lvCrociere); setAdapter(新的ListAdapter(this,R.layout.row_blog,lstCrociere)); lvCrociere.setonicmclicklistener(mItemClickListener); } 私人公寓{ listlstrociere=newarraylist(); 光标c=null; c=getContentResolver().query(ServiceContentProvider.TABLE13\u 14\u 15\u 16\u 17\u CONTENT\u URI,来自“a.minimum\u price=”+prezzo+“'GROUP BY a.cruise\u id”,null,null); 如果(c.getCount()>0){ while(c.moveToNext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getString(8)); String prezzo=c.getString(3).替换(“,”,”); crociera.setPrezzo(Float.parseFloat(prezzo)); crociera.setNomePortoPartenza(c.getString(27)); crociera.setDataPartenza(c.getString(1)); crociera.setArrival_potr_id(c.getString(19)); 藏红花; crociera.setDataArrivo(“”); crociera.setGiorno(c.getString(1).子字符串(0,2)); setMese(crociera.getDataPartenza()); setnnoti(Integer.parseInt(c.getString(4)); if(listaPromo.contains(crociera.getCruiseId())){ 藏红花(真); Log.v(标签,“Promo:+crociera.getCruiseId()); }否则{ 藏红花(假); } 添加(crociera); } } c、 去激活(); c、 close(); ListView lvCrociere=(ListView)findViewById(R.id.lvCrociere); setAdapter(新的ListAdapter(this,R.layout.row_blog,lstCrociere)); lvCrociere.setonicmclicklistener(mItemClickListener); } 私有所有权无效{ listlstrociere=newarraylist(); 光标c=null; c=getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI,from 1,“p.name=”+nome+“'GROUP BY a.cruise_id”,null,“data ASC”); if(c.getCount()>0){ while(c.moveToNext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getString(8)); String prezzo=c.getString(3).替换(“,”,”); crociera.setPrezzo(Float.parseFloat(prezzo)); crociera.setNomePortoPartenza(c.getString(27)); crociera.setDataPartenza(c.getString(1)); crociera.setArrival_potr_id(c.getString(19)); 藏红花; crociera.setDataArrivo(“”); crociera.setGiorno(c.getString(1).子字符串(0,2)); setMese(crociera.getDataPartenza()); setnnoti(Integer.parseInt(c.getString(4)); if(listaPromo.contains(crociera.getCruiseId())){ 藏红花(真); Log.v(标签,“Promo:+crociera.getCruiseId()); }否则{ 藏红花(假); } 添加(crociera); } } c、 去激活(); c、 close(); ListView lvCrociere=(ListView)findViewById(R.id.lvCrociere); setAdapter(新的ListAdapter(this,R.layout.row_blog,lstCrociere)); lvCrociere.setonicmclicklistener(mItemClickListener); } 私人网站{ listlstrociere=newarraylist(); 字符串where=“a.cruise\u id IN(从c.cruise\u-id中选择c.cruise\u-id从c.cruise-carb中选择c.cruise\u-id左外连接c.card\u-id=p.card\u-id其中c.card\u-id=p.card\u-id按c.cruise\u-id分组)和d.name=”“+zona+“‘按a.cruise\u-id分组’; 光标c=null; c=getContentResolver().query(ServiceContentProvider.TABLE13\u 14\u 15\u 16\u 17\u CONTENT\u URI,from1,其中,null,“数据ASC”); 如果(c.getCount()>0){ while(c.moveToNext()){ Crociera Crociera=新Crociera(); crociera.setCruiseId(c.getString(0)); 藏羚羊(c.getString(2)); crociera.setNomeNave(c.getString(8)); String prezzo=c.getString(3).替换(“,”,”); crociera.setPrezzo(Float.parseFloat(prezzo)); crociera.setNomePortoPartenza(c.getString(27)); crociera.setDataPartenza(c.getString(1)); 克罗西拉
03-23 01:01:37.379: D/testService(2126): Sto per lanciare il servizio 
03-23 01:01:37.389: W/dalvikvm(2126): VFY: unable to resolve virtual method 4279: Lnet/simonvt/widget/BuildLayerFrameLayout;.setTranslationX (F)V
03-23 01:01:37.389: W/dalvikvm(2126): VFY: unable to resolve virtual method 4279: Lnet/simonvt/widget/BuildLayerFrameLayout;.setTranslationX (F)V
03-23 01:01:37.399: W/dalvikvm(2126): VFY: unable to resolve virtual method 4277: Lnet/simonvt/widget/BuildLayerFrameLayout;.setLayerType (ILandroid/graphics/Paint;)V
03-23 01:01:37.399: W/dalvikvm(2126): VFY: unable to resolve virtual method 2928: Landroid/view/ViewGroup;.postOnAnimation (Ljava/lang/Runnable;)V
03-23 01:01:37.399: W/dalvikvm(2126): VFY: unable to resolve virtual method 4277: Lnet/simonvt/widget/BuildLayerFrameLayout;.setLayerType (ILandroid/graphics/Paint;)V
03-23 01:01:37.439: V/testService(2126): Caricamento: false
03-23 01:01:44.609: V/testService(2126): position: 0
03-23 01:01:44.879: W/dalvikvm(2126): Link of class 'Ltest/testservicedown/CrociereDestActivity;' failed
03-23 01:01:44.879: E/dalvikvm(2126): Could not find class 'test.testservicedown.CrociereDestActivity', referenced from method test.testservicedown.MainActivity$4.onItemClick
03-23 01:01:44.879: W/dalvikvm(2126): VFY: unable to resolve const-class 1248 (Ltest/testservicedown/CrociereDestActivity;) in Ltest/testservicedown/MainActivity$4;
03-23 01:01:47.589: W/dalvikvm(2126): threadid=1: thread exiting with uncaught exception (group=0x40126560)
03-23 01:01:47.599: E/AndroidRuntime(2126): FATAL EXCEPTION: main
03-23 01:01:47.599: E/AndroidRuntime(2126): java.lang.NoClassDefFoundError: test.testservicedown.CrociereDestActivity
03-23 01:01:47.599: E/AndroidRuntime(2126):    at test.testservicedown.MainActivity$4.onItemClick(MainActivity.java:429)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.widget.ListView.performItemClick(ListView.java:3744)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1991)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.os.Handler.handleCallback(Handler.java:587)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.os.Handler.dispatchMessage(Handler.java:92)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.os.Looper.loop(Looper.java:130)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at android.app.ActivityThread.main(ActivityThread.java:3687)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at java.lang.reflect.Method.invokeNative(Native Method)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at java.lang.reflect.Method.invoke(Method.java:507)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
03-23 01:01:47.599: E/AndroidRuntime(2126):    at dalvik.system.NativeStart.main(Native Method)
package test.testservicedown;

import java.util.ArrayList;
import java.util.List;

import test.testservicedown.models.Crociera;
import test.testservicedown.models.ListAdapter;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.ActionBar;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Intent;
import android.database.Cursor;
import android.database.DataSetObserver;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;

public class CrociereDestActivity extends Activity implements OnQueryTextListener{

    private static final String TAG = "testService";

    private String pkg;
    private String zona;
    private String period;
    private String query;
    private String prezzo;
    private String nome;

    private List<String> listaPromo;

    private String from1[] = { "*,substr(a.departure_date, -2,2) ||'_'||substr(a.departure_date, -5,2) ||'_'|| substr(a.departure_date, -8,2) as data"};
    private String from[] = {"*"};
    private String fromMSCDest[] = {"_id", "code", "name"};
    private String fromMSC[] = {"cruise_id", "departure_date", "itinerary_desc", "minimum_price", "nights_number", "departure_port_id", "destination_id", "period_id"};
    private String fromMSCItin[] = {"cruise_id", "day_number", "departure_date", "departure_time", "arrival_date", "arrival_day_number", "arrival_time", "arrival_port_id", "departure_port_id"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lista_crociere);

        Intent intent = getIntent();
        pkg = getPackageName();

        zona = intent.getStringExtra(pkg + "ZONA");
        query = intent.getStringExtra(pkg + "QUERY");
        period = intent.getStringExtra(pkg + "PERIOD");
        prezzo = intent.getStringExtra(pkg + "PREZZO");
        nome = intent.getStringExtra(pkg + "NOME");
        setTitle("Crociere");

//      Carica Promo-----------------------------------------
        listaPromo = new ArrayList<String>();
        String[] from = {"*"};
        String where = "cruise_id IN (SELECT c.cruise_id FROM msc_cabin c LEFT OUTER JOIN msc_promos p ON c.cabin_id = p.cabin_id WHERE c.cabin_id = p.cabin_id GROUP BY c.cruise_id) GROUP BY d.name";
        Cursor cPromo = null;
        cPromo = getContentResolver().query(ServiceContentProvider.TABLE13_14_CONTENT_URI_PROMO, from, where, null, null);

        while (cPromo.moveToNext()) {
            String cruise_id = cPromo.getString(0);
            listaPromo.add(cruise_id);
        }

        cPromo.deactivate();
        cPromo.close();

        if (query.equals("dest")) {
            caricaDati();
        } else if (query.equals("data")) {
            caricaDatiData();
        } else if (query.equals("prezzo")) {
            caricaDatiPrezzo();
        } else if (query.equals("depar")) {
            caricaDatiPartenza();
        } else if (query.equals("promo")) {
            caricaDatiPromo();
        }

    }

    private void caricaDati(){

        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from1, "d.name = '" + zona + "' GROUP BY a.cruise_id", null, "data ASC");
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);

    }

    private void caricaDatiData(){

        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "m.name = '" + period + "' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);

    }

    private void caricaDatiPrezzo(){

        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "a.minimum_price = '" + prezzo + "' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);

    }

    private void caricaDatiPartenza(){

        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from1, "p.name = '" + nome + "' GROUP BY a.cruise_id", null, "data ASC");
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);

    }

    private void caricaDatiPromo(){

        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        String where = " a.cruise_id IN (SELECT c.cruise_id FROM msc_cabin c LEFT OUTER JOIN msc_promos p ON c.cabin_id = p.cabin_id WHERE c.cabin_id = p.cabin_id GROUP BY c.cruise_id) AND d.name = '" + zona + "' GROUP BY a.cruise_id";

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from1, where, null, "data ASC");
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                crociera.setPromo(true);

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);

    }

    private AdapterView.OnItemClickListener mItemClickListener = new AdapterView.OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

            Intent i = new Intent(arg1.getContext(), DetailsActivity.class);

            TextView tvCruiseID = (TextView) arg1.findViewById(R.id.txtIDCrociera);
            String cruiseId = tvCruiseID.getText().toString();
            TextView tvItinerario = (TextView) arg1.findViewById(R.id.txtItinerario);
            String itin = tvItinerario.getText().toString();
            TextView tvNomeNave = (TextView) arg1.findViewById(R.id.txtNomeNave);
            String nomeNave = tvNomeNave.getText().toString();
            TextView tvAnno = (TextView) arg1.findViewById(R.id.txtAnno);
            String anno = tvAnno.getText().toString();
            TextView tvMese = (TextView) arg1.findViewById(R.id.txtMese);
            String mese = tvMese.getText().toString();
            TextView tvGiorno = (TextView) arg1.findViewById(R.id.txtGiorno);
            String giorno = tvGiorno.getText().toString();
            TextView tvNomePortoDep = (TextView) arg1.findViewById(R.id.txtPortoPart);
            String nPortoDep = tvNomePortoDep.getText().toString();
            TextView tvNomePortoArr = (TextView) arg1.findViewById(R.id.txtPortoArr);
            String nPortoArr = tvNomePortoArr.getText().toString();
            TextView tvDataDep = (TextView) arg1.findViewById(R.id.txtDataPartenza);
            String dataDep = tvDataDep.getText().toString();
            TextView tvDataArr = (TextView) arg1.findViewById(R.id.txtDataArrivo);
            String dataArr = tvDataArr.getText().toString();
            TextView tvNNotti = (TextView) arg1.findViewById(R.id.txtNNotti);
            String nNotti = tvNNotti.getText().toString();


            i.putExtra(pkg + "CRUISEID", cruiseId);
            i.putExtra(pkg + "ITIN", itin);
            i.putExtra(pkg + "NNAVE", nomeNave);
            i.putExtra(pkg + "ANNO", anno);
            i.putExtra(pkg + "MESE", mese);
            i.putExtra(pkg + "GIORNO", giorno);
            i.putExtra(pkg + "NPORTODEP", nPortoDep);
            i.putExtra(pkg + "NPORTOARR", nPortoArr);
            i.putExtra(pkg + "DATADEP", dataDep);
            i.putExtra(pkg + "DATAARR", dataArr);
            i.putExtra(pkg + "NNOTTI", nNotti);

            startActivity(i);

        }

    };

    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @SuppressLint("NewApi")
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_search, menu);
        if(android.os.Build.VERSION.SDK_INT < 11){

        }else {
            SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
            searchView.setOnQueryTextListener(this);
        }
        return super.onCreateOptionsMenu(menu);
    }

    public boolean onQueryTextChange(String newText) {
        // TODO Auto-generated method stub
        return false;
    }

    public boolean onQueryTextSubmit(String query1) {
        Log.v(TAG, "Ricerca: " + query);
        if (!query1.equals("")) {
            ricerca(query1);
//          if (query.equals("dest")) {
//              ricerca(query1);
//          } else if (query.equals("data")) {
//              ricercaData(query1);
//          } else if (query.equals("prezzo")) {
//              ricercaPrezzo(query1);
//          } else if (query.equals("depar")) {
//              ricercaPartenza(query1);
//          } else if (query.equals("promo")) {
//              ricercaPromo(query1);
//          }

        }
        return false;
    }

    private void ricerca(String query){
        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
//      c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "d.name = '" + zona + "' AND a.itinerary_desc LIKE '%" + query + "%' GROUP BY a.cruise_id", null, null);
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "a.itinerary_desc LIKE '%" + query + "%' OR a.ship_name LIKE '%" + query + "%' OR p.name LIKE '%" + query + "%' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);
    }

    private void ricercaData(String query){
        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "m.name = '" + period + "' AND a.itinerary_desc LIKE '%" + query + "%' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);
    }

    private void ricercaPrezzo(String query){
        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "a.minimum_price = '" + prezzo + "' AND a.itinerary_desc LIKE '%" + query + "%' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);
    }

    private void ricercaPartenza(String query){
        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, "p.name = '" + nome + "' AND a.itinerary_desc LIKE '%" + query + "%' GROUP BY a.cruise_id", null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                if (listaPromo.contains(crociera.getCruiseId())) {
                    crociera.setPromo(true);
                    Log.v(TAG, "Promo: " + crociera.getCruiseId());
                }else {
                    crociera.setPromo(false);
                }

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);
    }

    private void ricercaPromo(String query){
        List<Crociera>lstCrociere = new ArrayList<Crociera>();

        String where = " a.cruise_id IN (SELECT c.cruise_id FROM msc_cabin c LEFT OUTER JOIN msc_promos p ON c.cabin_id = p.cabin_id WHERE c.cabin_id = p.cabin_id GROUP BY c.cruise_id) AND d.name = '" + zona + "' AND a.itinerary_desc LIKE '%" + query + "%' GROUP BY a.cruise_id";

        Cursor c = null;
        c = getContentResolver().query(ServiceContentProvider.TABLE13_14_15_16_17_CONTENT_URI, from, where, null, null);
        if (c.getCount() > 0) {
            while (c.moveToNext()) {
                Crociera crociera = new Crociera();
                crociera.setCruiseId(c.getString(0));
                crociera.setItinerario(c.getString(2));
                crociera.setNomeNave(c.getString(8));
                String prezzo = c.getString(3).replace(",", ".");
                crociera.setPrezzo(Float.parseFloat(prezzo));
                crociera.setNomePortoPartenza(c.getString(27));
                crociera.setDataPartenza(c.getString(1));
                crociera.setArrival_potr_id(c.getString(19));
                crociera.setNomePortoArrivo("");
                crociera.setDataArrivo("");
                crociera.setGiorno(c.getString(1).substring(0,2));
                crociera.setMese(crociera.getDataPartenza());
                crociera.setnNotti(Integer.parseInt(c.getString(4)));

                crociera.setPromo(true);

                lstCrociere.add(crociera);

            }
        }

        c.deactivate();
        c.close();



        ListView lvCrociere = (ListView)findViewById(R.id.lvCrociere);

        lvCrociere.setAdapter(new ListAdapter(this, R.layout.row_blog, lstCrociere));

        lvCrociere.setOnItemClickListener(mItemClickListener);
    }

}