AndroidでSpinnerを使用して検索を実装するにはどうすればよいですか?

Sushant

私のコードSpinnerは以下の通りです:

String[] countryNames = {"Select Country", "India", "China", "Australia",   "Portugle", "America", "New Zealand"};

Spinner spinner = (Spinner) findViewById(R.id.simpleSpinner);
hintAdapter = new CustomArrayAdapter(getApplicationContext(), R.layout.simple_row,countriesList,getApplicationContext());
spinner.setAdapter(hintAdapter);

で検索を実装したいSpinner

どうすればそれを達成できますか?

Sherzodbek Muhammadiev

私はここで次の解決策を見つけました

/**
* A modified Spinner that doesn't automatically select the first entry in the list.
*
* Shows the prompt if nothing is selected.
*
* Limitations: does not display prompt if the entry list is empty.
*/
public class NoDefaultSpinner extends Spinner {

public NoDefaultSpinner(Context context) {
    super(context);
}
public NoDefaultSpinner(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public NoDefaultSpinner(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
public void setAdapter(SpinnerAdapter orig ) {
    final SpinnerAdapter adapter = newProxy(orig);

    super.setAdapter(adapter);

    try {
        final Method m = AdapterView.class.getDeclaredMethod(
                           "setNextSelectedPositionInt",int.class);
        m.setAccessible(true);
        m.invoke(this,-1);

        final Method n = AdapterView.class.getDeclaredMethod(
                           "setSelectedPositionInt",int.class);
        n.setAccessible(true);
        n.invoke(this,-1);
    } 
    catch( Exception e ) {
        throw new RuntimeException(e);
    }
}

protected SpinnerAdapter newProxy(SpinnerAdapter obj) {
    return (SpinnerAdapter) java.lang.reflect.Proxy.newProxyInstance(
            obj.getClass().getClassLoader(),
            new Class[]{SpinnerAdapter.class},
            new SpinnerAdapterProxy(obj));
}



/**
 * Intercepts getView() to display the prompt if position < 0
 */
protected class SpinnerAdapterProxy implements InvocationHandler {

    protected SpinnerAdapter obj;
    protected Method getView;


    protected SpinnerAdapterProxy(SpinnerAdapter obj) {
        this.obj = obj;
        try {
            this.getView = SpinnerAdapter.class.getMethod(
                             "getView",int.class,View.class,ViewGroup.class);
        } 
        catch( Exception e ) {
            throw new RuntimeException(e);
        }
    }

    public Object invoke(Object proxy, Method m, Object[] args) throws Throwable {
        try {
            return m.equals(getView) && 
                   (Integer)(args[0])<0 ? 
                     getView((Integer)args[0],(View)args[1],(ViewGroup)args[2]) : 
                     m.invoke(obj, args);
        } 
        catch (InvocationTargetException e) {
            throw e.getTargetException();
        } 
        catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

    protected View getView(int position, View convertView, ViewGroup parent) 
      throws IllegalAccessException {

        if( position<0 ) {
            final TextView v = 
              (TextView) ((LayoutInflater)getContext().getSystemService(
                Context.LAYOUT_INFLATER_SERVICE)).inflate(
                  android.R.layout.simple_spinner_item,parent,false);
            v.setText(getPrompt());
            return v;
        }
        return obj.getView(position,convertView,parent);
    }
}
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

分類Dev

Laravelでajaxを使用して簡単な検索機能を正しく実装するにはどうすればよいですか?

分類Dev

LINQを使用して単語検索を実行するにはどうすればよいですか?

分類Dev

アプリバーを使用して検索を実行するにはどうすればよいですか?

分類Dev

Pythonで再帰を使用して「配列内の最大値の検索」を実装するにはどうすればよいですか?

分類Dev

searchviewを使用してカスタムArrayAdapterに検索機能を実装するにはどうすればよいですか?

分類Dev

Postgresデータベースを使用してnode.jsにテキスト検索を実装するにはどうすればよいですか?

分類Dev

Elixirを使用してバイナリ検索ツリーの高さを再帰的に実装するにはどうすればよいですか?

分類Dev

Volleyを使用してAndroidにログインを実装するにはどうすればよいですか?

分類Dev

別のクラス(C#)の変数を使用して検索機能を実装するにはどうすればよいですか?

分類Dev

neo4j.rb:neo4j.rbを使用してテキスト検索を実装するにはどうすればよいですか?

分類Dev

jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

分類Dev

再生時に曲に対応する検索を実装するにはどうすればよいですか?

分類Dev

特定の深さまで幅優先検索を実装するにはどうすればよいですか?

分類Dev

JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

分類Dev

JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

分類Dev

djangoで検索機能を実装するにはどうすればよいですか?

分類Dev

Jqueryで検索機能を実装するにはどうすればよいですか?

分類Dev

plistで文字列の検索を実装するにはどうすればよいですか?

分類Dev

Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

分類Dev

MySQLでの検索で@を使用してLIKE検索を行うにはどうすればよいですか?

分類Dev

Android-検索機能を実装して結果をListViewに戻すにはどうすればよいですか?

分類Dev

より効率的な検索機能を実装するにはどうすればよいですか?

分類Dev

検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

分類Dev

MarkLogic検索を使用してRESTAPIでtransform-resultを使用するにはどうすればよいですか?

分類Dev

検索ボックスを実装するにはどうすればよいですか?

分類Dev

この水平検索結果バーを実装するにはどうすればよいですか?

分類Dev

Excel VBAを使用して検索する列を設定するにはどうすればよいですか?

分類Dev

GUIを使用してGNOMEでファイルを検索するにはどうすればよいですか?

Related 関連記事

  1. 1

    MySQL を使用してバイナリ検索を実装するにはどうすればよいですか?

  2. 2

    Laravelでajaxを使用して簡単な検索機能を正しく実装するにはどうすればよいですか?

  3. 3

    LINQを使用して単語検索を実行するにはどうすればよいですか?

  4. 4

    アプリバーを使用して検索を実行するにはどうすればよいですか?

  5. 5

    Pythonで再帰を使用して「配列内の最大値の検索」を実装するにはどうすればよいですか?

  6. 6

    searchviewを使用してカスタムArrayAdapterに検索機能を実装するにはどうすればよいですか?

  7. 7

    Postgresデータベースを使用してnode.jsにテキスト検索を実装するにはどうすればよいですか?

  8. 8

    Elixirを使用してバイナリ検索ツリーの高さを再帰的に実装するにはどうすればよいですか?

  9. 9

    Volleyを使用してAndroidにログインを実装するにはどうすればよいですか?

  10. 10

    別のクラス(C#)の変数を使用して検索機能を実装するにはどうすればよいですか?

  11. 11

    neo4j.rb:neo4j.rbを使用してテキスト検索を実装するにはどうすればよいですか?

  12. 12

    jqueryでctrl + fのような検索を実装するにはどうすればよいですか?

  13. 13

    再生時に曲に対応する検索を実装するにはどうすればよいですか?

  14. 14

    特定の深さまで幅優先検索を実装するにはどうすればよいですか?

  15. 15

    JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

  16. 16

    JPA(Spring Data JPA)で単純な全文検索を実装するにはどうすればよいですか?

  17. 17

    djangoで検索機能を実装するにはどうすればよいですか?

  18. 18

    Jqueryで検索機能を実装するにはどうすればよいですか?

  19. 19

    plistで文字列の検索を実装するにはどうすればよいですか?

  20. 20

    Spring + Hibernate + MySQLで検索フィルターを実装するにはどうすればよいですか?

  21. 21

    MySQLでの検索で@を使用してLIKE検索を行うにはどうすればよいですか?

  22. 22

    Android-検索機能を実装して結果をListViewに戻すにはどうすればよいですか?

  23. 23

    より効率的な検索機能を実装するにはどうすればよいですか?

  24. 24

    検索バーの作成中にAJAX操作を実装するにはどうすればよいですか?

  25. 25

    MarkLogic検索を使用してRESTAPIでtransform-resultを使用するにはどうすればよいですか?

  26. 26

    検索ボックスを実装するにはどうすればよいですか?

  27. 27

    この水平検索結果バーを実装するにはどうすればよいですか?

  28. 28

    Excel VBAを使用して検索する列を設定するにはどうすればよいですか?

  29. 29

    GUIを使用してGNOMEでファイルを検索するにはどうすればよいですか?

ホットタグ

アーカイブ