0

同じ配列アダプターを使用している 2 つの異なるスピナーから 2 つの文字列型のデータを取得しようとしています。switch ステートメントと case ステートメントを使用して onItemselectedListener() をセットアップしました。しばらく検索した後、コードが正しいと確信しています。この関数は、adapterView 変数を使用して、アイテムがどのスピナーから選択されたかを判別できます。しかし、それでも何か問題が発生し、アイテムが選択されたときに textView は変更されません public class MainActivity extends Activity implement OnItemSelectedListener, OnClickListener {

public String[] all = { "dilshad garden", "jhilmil",
        "mansarovar park", "shahadra", "welcome", "seelampur",
        "shastri park", "kashmere gate", "tis hazari", "pul bangash",
        "pratab nagar", "shastri nagar", "inderlok", "kanhiya nagar",
        "netaji subhash place", "kohat enclave", "pitampura",
        "rohini east", "rohini west", "rithala", "jahangirpuri",
        "adarsh nagar", "azadpur", "model town", "gtb nagar",
        "delhi university", "vidhan sabha", "civil lines", "kashmere gate",
        "chandni chowk", "chawri bazar", "new delhi", "rajiv chowk",
        "patel chowk", "centrial secretariat" };


Button route;
Spinner stationFrom, stationTo;
String finalTo, finalFrom, result;
TextView totv,fromtv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    totv=(TextView)findViewById(com.example.delhimetro.R.id.totv);

    stationFrom=(Spinner)findViewById(R.id.stationFrom);
    stationTo=(Spinner)findViewById(R.id.stationTo);

    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, all);
    stationFrom.setAdapter(adapter);
    stationTo.setAdapter(adapter);
    stationFrom.setOnItemSelectedListener(this);
    stationTo.setOnItemSelectedListener(this);
    route=(Button)findViewById(R.id.route);
    route.setOnClickListener(this);

}

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub

    switch(arg1.getId()){

    case R.id.stationTo:
        finalTo=stationTo.getSelectedItem().toString();
        totv.setText(finalTo);
        break;

    case R.id.stationFrom:
        finalFrom=stationFrom.getSelectedItem().toString();
        fromtv.setText(finalFrom);
        break;
    }   
}

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

}

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    switch(arg0.getId()){
    case R.id.route:

    break;
    }

}

}

4

0 に答える 0