0

スピナーworkRequestTypeで選択されたスピナーから情報をロードする必要があります。私は今Java Androidでプログラミングを始めていますが、この手順を行う方法がわかりません。

私が行った調査では、 setOnItemSelectedListener を使用する必要がありますが、使用方法がわかりません。このプロセスをどこで宣言しますか?

私のJavaコード:

spnWorkRequesType.setOnItemSelectedListener(new OnItemSelectedListener() {

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

        String workRequestType = arg0.getItemAtPosition(arg2).toString();

        loadCustomServiceSpinner(workRequestType);
    }

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

    }});

private void loadCustomServiceSpinner(String workRequestType) {

    CustomServiceDBQueries csQueries = new CustomServiceDBQueries();
    customService = csQueries.selectCustomService(workRequestType);

    String[] strCustomService = new String[customService.size() + 1];
    strCustomService[0] = "";

    int i = 1;
    for (CustomService cs : customService) {
        strCustomService[i] = cs.getCustomServiceName();
        i++;
    }

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, strCustomService);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    Spinner SpnCustomService = (Spinner) findViewById(R.id.SpnCustomService);
    SpnCustomService.setAdapter(adapter);

}

ありがとうございました!

4

2 に答える 2

1

OnCreate() でメソッドを宣言したところ、機能しました。助けてくれてありがとう!

spnWorkRequesType
            .setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int pos, long id) {

                    String workRequestType = arg0.getItemAtPosition(pos)
                            .toString();

                    if (pos != 0)
                        Toast.makeText(WorkOrderOpen.this, workRequestType,
                                Toast.LENGTH_LONG).show();
                }

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

                }
            });
于 2013-09-06T13:36:22.937 に答える
1

このスピナー チュートリアル 1スピナー チュートリアル 2を参照してください。それがどのように機能するかについての良いアイデアを与えると思います。

基本的に、ドロップダウンリストを設定するには、配列アダプタをスピナーに設定する必要があります。onItemSelectedListener の onItemSelected メソッドは、リストから選択したアイテムのインデックスを提供します。

于 2013-09-06T13:19:28.140 に答える