【问题标题】:Android Working With Spinner And MultiAutoCompleteTextView Auto Populate List ItemsAndroid 使用 Spinner 和 MultiAutoCompleteTextView 自动填充列表项
【发布时间】:2016-04-11 15:35:52
【问题描述】:
  1. 我是 Android 新手,正在尝试一个小应用程序。
  2. 我有一个带有项目列表的微调器,并且我有 MultiAutoCompleteTextView。
  3. 当我从 Spinner 中选择任何一个项目时,它应该显示与该项目相关的内容。例如,如果我选择品牌,它应该允许 MultiAutoCompleteTextView 中与品牌相关的项目(阿迪达斯、李、彪马)这样。
  4. 如果我选择颜色(蓝、黑、黄、绿)这样。
  5. 这是我的活动......

  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.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"};

    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 listAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, color);
        text1.setAdapter(listAdapter);
        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) {



            }

            @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);
    }*/
        });
    }
}

  1. 这是我的布局......

<?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>
  1. 谁能帮我解决这个问题...
  2. 感谢他们.....

【问题讨论】:

    标签: android android-layout android-spinner


    【解决方案1】:

    使用:spinner.setOnItemSelectedListener

    我创建了类别和子类别微调器。子类别值根据类别选择显示。以下是代码示例:

        spn_category.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                        @Override
                        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
                            String selection = spn_category.getSelectedItem().toString();
    
                         // Based on this selection category, you can select which subcategory to show
    
                        ArrayAdapter<String> selection_subcat = new ArrayAdapter<String>(ServiceProviderProfileEdit.this,
                                android.R.layout.simple_spinner_dropdown_item, CategoryInfo.getSubCategories(selection));
                        spn_subcategory.setAdapter(selection_subcat);
                        }
    
                        @Override
                        public void onNothingSelected(AdapterView<?> parentView) {
                            // your code here (optional)
                        }
    
                    });
    

    希望对你有所帮助..!

    【讨论】:

    • 谢谢老板@Dhaval
    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 2012-09-30
    • 1970-01-01
    相关资源
    最近更新 更多