【问题标题】:Spinner object reference problem?Spinner 对象引用问题?
【发布时间】:2011-03-26 06:35:40
【问题描述】:

在使用 spinner 对象时如何使用 if else 语句?

我希望在 Android 中 make a page like this

我已经完成了按钮和微调器的编码,并且我使用了一个数组来存储微调器中的值。

我的问题:当我在两个微调器中选择一些值并单击“SHOW FARE”按钮时,没有生成票价??

public class HelloSpinner extends Activity implements OnClickListener {

    /** Called when the activity is first created. 
     * @return */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.source_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);

        Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(
                this, R.array.destination_array, android.R.layout.simple_spinner_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(adapter);

        View v= findViewById(R.id.button);
        v.setOnClickListener(this);
        if(spinner.getSelectedItem().toString()=="Adarsh Nagar"
           && spinner1.getSelectedItem().toString()=="Rajiv Chowk")
           {
                TextView t= (TextView) findViewById(R.id.text);
                t.setText("Fare:Rs. 16");
           }           
    }

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

        Intent i = new Intent(this,Fare.class);
        startActivity(i);
        break;  
        }
        }
   }

如果有人能发现代码中的错误,我将不胜感激!

【问题讨论】:

    标签: java android android-widget


    【解决方案1】:

    为微调器和内部创建 setOnItemSelectedListener 将选定的值存储在字符串变量中..

    然后在 Button 点击​​ Check you if Conditions..

    spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub
                     selectedspinnervalue =s1.getSelectedItem().toString();
                }
                @Override
                public void onNothingSelected(AdapterView<?> arg0) {
                    // TODO Auto-generated method stub
                }
            });
    

    其中字符串变量 selectedspinnervalue 包含微调器选择的值..

    现在在按钮点击检查条件是这样的:

    yourbuttonobject.setOnClickListener(new OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                 if(selectedvalueinspinner.equalsIgnoreCase("Adarsh Nagar")&& selectedvalueinspinner1.equalsIgnoreCase("Rajiv Chowk")){
                    // Your desired Code..
                } 
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      相关资源
      最近更新 更多