1

最初のスピナーの要素が選択された後、2 番目のスピナーを表示し、最初のスピナーの選択された要素に基づいて配列を設定するアプリの最初のページを作成しようとしています。toArray() に関する情報を見つけましたが、説明が必要です。これまでに行われたことは次のとおりです。

package com.example.app;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;


public class MainActivity extends Activity implements OnItemSelectedListener{

Spinner state_dropdown, city_dc_dropdown, city_md_dropdown,     city_va_dropdown, city_ny_dropdown, category_dropdown;
Button search_button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    state_dropdown = (Spinner)findViewById(R.id.state);
    city_dc_dropdown = (Spinner)findViewById(R.id.dc_city);
    city_md_dropdown = (Spinner)findViewById(R.id.city_md);
    city_va_dropdown = (Spinner)findViewById(R.id.city_va);
    category_dropdown = (Spinner)findViewById(R.id.category);
    search_button = (Button)findViewById(R.id.search);
    state_dropdown.setOnItemClickListener(this);
}


@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // TODO Auto-generated method stub
    String state_selected = String.valueOf(state_dropdown.getSelectedItem());
    Toast.makeText(this, state_selected, Toast.LENGTH_LONG).show();
    if(state_selected.contentEquals("DC")){
        List list = new ArrayList();

    }
}

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

}

私はとても混乱しているので、リストに立ち寄りました。

4

2 に答える 2

0

これはダブルワークのような気がします。arrays.xml には既に配列があります。なぜリストとしてもう一度作るのですか?これは、処理するデータが増え、PC のストレスが増えます。最適なオプションは、arrays.xml から直接選択してスピナーに入力するようにアダプターを設定することです。

配列データは create from resource メソッド中に挿入され、クリック時に、クリックされたものの文字列値を定義済みの文字列変数に割り当てるだけです。

于 2020-05-19T07:15:05.497 に答える