Android Spinner使用MultiAutoCompleteTextView?

时间:2016-04-12 06:11:22

标签: android android-spinner multiautocompletetextview

  1. 我正在做一个小型Android应用程序。
  2. 因为我有一个带有项目清单的旋转器(前品牌,颜色)。
  3. 我还有MultiAutoCompleteTextView。
  4. 我创建了两个自定义阵列适配器颜色适配器和品牌适配器。
  5. 颜色适配器保持与颜色和品牌适配器相关的值包含与品牌相关的值。
  6. 这里我尝试做的是验证微调器中的选定项目如果我选择旋转器中的颜色然后在MultiAutoCompleteTextView中它应该给我颜色适配器中的值。如果我选择Brand In Spinner Then Brand In Brand adapter。
  7. 任何人都可以帮我锄头......
  8. 这是我的代码我到目前为止所做的尝试。
  9. package com.example.ns2.testing;
    
    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.util.Log;
    import android.view.View;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.MultiAutoCompleteTextView;
    import android.widget.Spinner;
    
    public class MainActivity extends AppCompatActivity {
        String[] color={"Blue","Black","Red","Yellow","Green","Pink","Sony","LG","Samsung"};
        String[] brand={"Sony","LG","Samsung"};
    
        MultiAutoCompleteTextView text1;
        Spinner spinner;
        ArrayAdapter<CharSequence> adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            text1= (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
            ArrayAdapter clistAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, color);
            ArrayAdapter blistAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, brand);
    
            text1.setAdapter(clistAdapter);
            text1.setAdapter(blistAdapter);
            text1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    
            spinner = (Spinner) findViewById(R.id.spinner);
            adapter = ArrayAdapter.createFromResource(this, R.array.SearchKey, android.R.layout.simple_spinner_item);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner.setAdapter(adapter);
    
            spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    String text = spinner.getSelectedItem().toString();
                    Log.d("!!!!!!!!!!!!", "onItemSelected: "+text);
    
    
    
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
    
                }
    
    
    
    
    
    
       /* @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }*/
    
        /*@Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
    
            //noinspection SimplifiableIfStatement
            if (id == R.id.action_settings) {
                return true;
            }
    
            return super.onOptionsItemSelected(item);
        }*/
            });
        }
    }
    

    &#13;
    &#13;
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        tools:context="com.example.ns2.testing.MainActivity"
        tools:showIn="@layout/activity_main">
        <TextView
            android:id="@+id/like"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/like"
            android:textSize="@dimen/abc_action_bar_progress_bar_size"
            android:layout_alignParentLeft="true"
            />
    
    
    
        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/like"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_marginRight="70dp"
            android:layout_marginEnd="200dp">
        </Spinner>
    
        <MultiAutoCompleteTextView
            android:id="@+id/multiAutoCompleteTextView1"
            android:layout_width="200dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="Value.... "
            android:layout_alignTop="@+id/spinner"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />
    
    </RelativeLayout>
    &#13;
    &#13;
    &#13;

    1. 感谢任何帮助感谢.......

1 个答案:

答案 0 :(得分:0)

试试这个,

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            String text = spinner.getSelectedItem().toString();
            Log.d("!!!!!!!!!!!!", "onItemSelected: "+text);
            if(text.equals("Color")){
                 text1.setAdapter(clistAdapter);
            }  else if(text.equals("Brand")){
                 text1.setAdapter(blistAdapter);
            }  
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
相关问题