2014-09-06 59 views
-2

我有我的佈局兩個微調如下:查看兩個紡紗廠選擇的物品?

public class DemoActivity extends Activity { 

    private static final String STATE_SCALE = "state-scale"; 
    private static final String STATE_CENTER_X = "state-center-x"; 
    private static final String STATE_CENTER_Y = "state-center-y"; 
    private static final int CAMERA_REQUEST = 1888; 
    private ImageView imageView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Spinner spinner1 = (Spinner) findViewById(R.id.spinner1); 
     String text1 = spinner1.getSelectedItem().toString(); 
     Spinner spinner3 = (Spinner) findViewById(R.id.spinner3); 
     String text3 = spinner3.getSelectedItem().toString(); 
     if (text1.equals("Harris Academy")) 
      Harris(spinner1); 
     if (text1.equals("Harris Academy") && text3.equals("Ground Floor")) { 
      Toast.makeText(getBaseContext(), text3, Toast.LENGTH_LONG).show(); 
      try { 
       SubsamplingScaleImageView imageView = 
         (SubsamplingScaleImageView) findViewById(id.imageView); 
       imageView.setImageAsset("DSC00277.png"); 

       if (savedInstanceState != null && 
         savedInstanceState.containsKey(STATE_SCALE) && 
         savedInstanceState.containsKey(STATE_CENTER_X) && 
         savedInstanceState.containsKey(STATE_CENTER_Y)) { 
        imageView.setScaleAndCenter(savedInstanceState.getFloat(STATE_SCALE), 
          new PointF(savedInstanceState.getFloat(STATE_CENTER_X), 
          savedInstanceState.getFloat(STATE_CENTER_Y))); 
       } 
      } catch (IOException e) { 
       Log.e(DemoActivity.class.getSimpleName(), "Could not load asset", e); 
      } 
     } 
    } 
} 

這當應用程序啓動時,它得到微調1和紡紗機3的值正常工作,然後做取決於價值的東西。

我該如何擴展它,以便當我在兩個微調器上選擇一個項目時,它會根據新值執行一些操作?

+0

你試過用'OnItemSelectedListener'? – SilentKiller 2014-09-06 07:15:55

+0

您應該在spinview的findviewbyid之後添加該代碼。 – 2014-09-06 10:03:48

+0

嘗試,提供了以下錯誤「在類型的方法setOnItemSelectedListener(AdapterView.OnItemSelectedListener)適配器視圖是不適用的參數(新OnItemSelectedListener(){})」 – user3422687 2014-09-06 10:50:56

回答

0

要獲得更新的值從微調用戶選擇項目,

您必須實現微調的onItemSelectedListner

spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
{ 
      public void onItemSelected(AdapterView<?> parent, View view, 
       int pos, long id) { 

     // Do your stuff here for spinner1 

     } 

     public void onNothingSelected(AdapterView<?> parent) { 

     } 

}); 
spinner3.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() 
{ 
      public void onItemSelected(AdapterView<?> parent, View view, 
       int pos, long id) { 

     // Do your stuff here for spinner3 

     } 

     public void onNothingSelected(AdapterView<?> parent) { 

     } 

}); 
+0

感謝這個能不能幫我到哪裏在上面的myyy代碼中插入此我已嘗試插入它後,我設置視圖,但無論我插入它我得到的錯誤 – user3422687 2014-09-06 08:02:37

+0

您可以添加此代碼內onCreate方法在最後 – Jatin 2014-09-07 05:19:09

0

如果你想操縱Spinner對項目的選擇視圖或數據,您需要對特定的Spinner實施 ItemSelectedListener

示例代碼:

// in onCreate() or where you want to bind this Views with XML views 
{ 
    spinner1 = (Spinner) findViewById(R.id.spinner1); 
    spinner3 = (Spinner) findViewById(R.id.spinner3); 
    // mItemSelectedListener Object of OnItemSelectedListener to handle Item Selection to Spinners. 
    spinner1.setOnItemSelectedListener(mItemSelectedListener); 
    spinner3.setOnItemSelectedListener(mItemSelectedListener); 
} 

// Creating an Object of Anonymous Class so no need to create another instance for same class 
// OutSide of onCreate() method. 
OnItemSelectedListener mItemSelectedListener = new OnItemSelectedListener() { 

    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
     switch (view.getId()) { 
     case R.id.spinner1: 
       // Manipulates Views at selection of item in Spinner1 
      break; 
     case R.id.spinner3: 
       // Manipulates Views at selection of item in Spinner3 
      break; 
     } 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parent) {} 
};