如何添加Spinner中所选项目的最近搜索?

时间:2017-03-09 10:40:42

标签: java android

我在我的应用程序中添加了一个Spinner。现在我想在点击时添加一个“最近搜索”按钮,它将显示用户从Spinner做出的先前选择。我搜索了很多网站,包括android开发人员,堆栈溢出等等,但我发现只保存了历史记录用于搜索小部件。我怎样才能做到这一点?这些是我搜索过的链接。我不知道如何将它应用于Spinners。

How to show search view recent search history

Create "history" to SearchView on ActionBar

这是我的主要活动课

 public class MainActivity extends AppCompatActivity implements                  View.OnClickListener {
TextView bus_selection, bus_selection2;
Button bus_go;
String bus_stationf, bus_stationt;
int bus_posf, bus_post;
TextView selection, selection2;
Button ac_go;
String stationf, stationt;
int posf, post;
DatePicker datePicker,datePicker1;


String stand[] = {"Durg Railway Station", "Durg Bus Station", "power              house", "Tatibandh", "Pachdedinaka", "Telibandha", "Raipur Airport"};
String stand1[] = {"Durg Railway Station", "Durg Bus Station", "power      house", "Tatibandh", "Pachdedinaka", "Telibandha", "Raipur Airport"};

@TargetApi(11)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.layout);

    datePicker=(DatePicker)findViewById(R.id.datePicker1);
    datePicker1=(DatePicker)findViewById(R.id.datePicker2);

    datePicker.setSpinnersShown(false);
    datePicker1.setSpinnersShown(false);

    TabHost th = (TabHost) findViewById(R.id.tabhost);
    th.setup();


    TabHost.TabSpec spec = th.newTabSpec("tag2");
    spec.setContent(R.id.tab1);
    spec.setIndicator(" AC bus ");

    th.addTab(spec);

    spec = th.newTabSpec("tag1");
    spec.setContent(R.id.tab2);
    spec.setIndicator("City bus ");
    th.addTab(spec);

    bus_selection = (TextView) findViewById(R.id.tv1);
    Spinner bus_spin = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<String> cc = new ArrayAdapter<String>(this, R.layout.row,R.id.station,stand);
    bus_spin.setAdapter(cc);
    bus_spin.setOnItemSelectedListener(new busFromSpinner());




    bus_selection2 = (TextView) findViewById(R.id.tv2);
    Spinner bus_spin2 = (Spinner) findViewById(R.id.spinner2);
    ArrayAdapter<String> dd = new ArrayAdapter<String>(this, R.layout.row,R.id.station,stand1);

    bus_spin2.setAdapter(dd);
    bus_spin2.setOnItemSelectedListener(new busToSpinner());

    bus_go = (Button) findViewById(R.id.b1);
    bus_go.setOnClickListener(this);

    selection = (TextView) findViewById(R.id.tv3);
    Spinner spin = (Spinner) findViewById(R.id.spinner3);
    ArrayAdapter<String> aa = new ArrayAdapter<String>(this,         R.layout.row,R.id.station,stand);

    spin.setAdapter(aa);
    spin.setOnItemSelectedListener(new ac_busFromSpinner());

    selection2 = (TextView) findViewById(R.id.tv4);
    Spinner spin2 = (Spinner) findViewById(R.id.spinner4);
    ArrayAdapter<String> bb = new ArrayAdapter<String>(this, R.layout.row,R.id.station,stand1);

    spin2.setAdapter(bb);
    spin2.setOnItemSelectedListener(new ac_busToSpinner());

    ac_go = (Button) findViewById(R.id.b2);
    ac_go.setOnClickListener(this);


}

class busFromSpinner implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        Toast.makeText(v.getContext(), "You choose :" + stand[position], Toast.LENGTH_SHORT).show();
        bus_stationf = stand[position];
        bus_posf = position;


    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }

}

class busToSpinner implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        Toast.makeText(v.getContext(), "You choose :" + stand1[position], Toast.LENGTH_SHORT).show();
        bus_stationt = stand1[position];
        bus_post = position;
    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }
}

class ac_busFromSpinner implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        Toast.makeText(v.getContext(), "You choose :" + stand[position], Toast.LENGTH_SHORT).show();
        stationf = stand[position];
        posf = position;


    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }

}

class ac_busToSpinner implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        Toast.makeText(v.getContext(), "You choose :" + stand1[position], Toast.LENGTH_SHORT).show();
        stationt = stand1[position];
        post = position;
    }

    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub

    }
}

public void onClick(View arg0) {
    switch (arg0.getId()) {

        case R.id.b1:

            Intent busintent = new Intent(MainActivity.this, bus.class);
            busintent.putExtra("busposf", bus_posf);
            busintent.putExtra("buspost", bus_post);
            busintent.putExtra("busstationf", bus_stationf);
            busintent.putExtra("busstationt", bus_stationt);
            startActivity(busintent);
            break;
        case R.id.b2:
            Intent acbusintent = new Intent(MainActivity.this, acBus.class);
            acbusintent.putExtra("acbusposf", posf);
            acbusintent.putExtra("acbuspost", post);
            acbusintent.putExtra("acbusstationf", stationf);
            acbusintent.putExtra("acbusstationt", stationt);
            startActivity(acbusintent);
            break;


    }

}

}

这是布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
>

<TabHost
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tabhost"
    android:layout_gravity="center_horizontal">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TabWidget
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@android:id/tabs"></TabWidget>

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"

            >

            <RelativeLayout
                android:id="@+id/tab1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
               >
                <TextView
                    android:id="@+id/tv1"
                    android:text="From:"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp" />
                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="60dp"
                    android:id="@+id/spinner1"
                    android:layout_below="@+id/tv1"/>

                <TextView
                    android:id="@+id/tv2"
                    android:text="To:"
                    android:layout_below="@id/spinner1"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp" />

                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="60dp"
                    android:id="@+id/spinner2"
                    android:layout_below="@id/tv2" />
                <DatePicker
                    android:id="@+id/datePicker1"
                    android:layout_width="wrap_content"
                    android:layout_height="80dp"
                    android:layout_below="@+id/spinner2"
                    android:datePickerMode="calendar"


                    android:layout_centerHorizontal="true"
                    android:layout_marginBottom="30dp" />

                <Button
                    android:layout_width="fill_parent"
                    android:layout_height="50dp"
                    android:layout_below="@+id/datePicker1"
                    android:paddingLeft="140dp"

                    android:id="@+id/b1"
                    android:text="Search"
                    android:layout_gravity="center"
                    android:drawableLeft="@drawable/bus_icon"
                    android:gravity="center_vertical"/>





            </RelativeLayout>



            <RelativeLayout
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
               >
                <TextView
                    android:id="@+id/tv3"
                    android:text="From:"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp" />
                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="60dp"
                    android:id="@+id/spinner3"
                    android:layout_below="@+id/tv3"/>

                <TextView
                    android:id="@+id/tv4"
                    android:text="To:"
                    android:layout_below="@id/spinner3"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp" />

                <Spinner
                    android:layout_width="match_parent"
                    android:layout_height="60dp"
                    android:id="@+id/spinner4"
                    android:layout_below="@id/tv4" />
                <DatePicker
                    android:id="@+id/datePicker2"
                    android:layout_width="wrap_content"
                    android:layout_height="80dp"
                    android:layout_below="@+id/spinner4"
                    android:datePickerMode="calendar"
                    android:layout_centerHorizontal="true"
                    android:layout_marginBottom="30dp" />

                <Button
                    android:text="Search"
                    android:id="@+id/b2"
                    android:layout_below="@id/datePicker2"
                    android:layout_gravity="center"
                    android:drawableLeft="@drawable/bus_icon"
                    android:paddingLeft="140dp"

                    android:gravity="left|center_vertical"

                    android:layout_width="match_parent"
                    android:layout_height="50dp" />


            </RelativeLayout>




        </FrameLayout>
    </LinearLayout>
</TabHost>

</LinearLayout>

现在我想在搜索按钮上方添加一个按钮,该按钮应显示最近由微调器做出的选择。

0 个答案:

没有答案