2014-03-26 82 views
1

我正在製作一個應用程序,可以上傳包含各種信息的圖片。我可以從手機圖庫中獲取圖像,並且我可以填寫表單並製作一種滑塊。在形式上,我用旋轉和TextView的,我的佈局是這樣的:從Spinner獲取值

details.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

</LinearLayout> 

layout_fullscreen_image.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ImageView 
     android:id="@+id/imgDisplay" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_marginBottom="100dp" 
     android:scaleType="fitCenter" /> 

    <Spinner 
     android:id="@+id/sizes" 
     android:layout_width="80dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="69dp" /> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="60dp" 
     android:layout_height="wrap_content" 
     android:layout_alignBottom="@+id/sizes" 
     android:layout_toRightOf="@+id/sizes" 
     android:text="1" 
     android:inputType="number" 
     android:digits="" 
     android:ems="10" /> 

    <TextView 
     android:id="@+id/tvSizes" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/sizes" 
     android:layout_alignParentLeft="true" 
     android:text="Size" /> 

    <TextView 
     android:id="@+id/tvPieces" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/sizes" 
     android:layout_alignLeft="@+id/editText1" 
     android:text="Piece/s" /> 

</RelativeLayout> 

和操作欄:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_add_to_cart" 
     android:icon="@drawable/cart" 
     android:title="@string/cart" 
     android:showAsAction="ifRoom"/> 

    <item android:id="@+id/action_settings" 
      android:title="@string/action_settings" 
      android:showAsAction="never" /> 


</menu> 

我有一個ImageAdapter顯示圖像作爲滑塊,其中layout_fullscreen_image.xml與此方法:

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
    ImageView imgDisplay; 
    Button btnClose; 

    sizes = new ArrayList<String>(); 
    sizes.add("3x4"); 
    sizes.add("4x6"); 
    sizes.add("5x8"); 

    inflater = (LayoutInflater) _activity 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container, 
      false); 

    imgDisplay = (ImageView) viewLayout.findViewById(R.id.imgDisplay); 

    Spinner mSpinner = (Spinner) viewLayout.findViewById(R.id.sizes); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this._activity, android.R.layout.simple_spinner_item, sizes); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    mSpinner.setAdapter(adapter); 


    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
    Bitmap bitmap = BitmapFactory.decodeFile(_imagePaths.get(position), options); 
    imgDisplay.setImageBitmap(bitmap); 

    ((ViewPager) container).addView(viewLayout); 

    return viewLayout; 
} 

和一個主類Details.java

public class Details extends Activity{ 

    private ArrayList<String> selectedItems; 
    private FullScreenImageAdapter adapter; 
    private ViewPager viewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.details); 
     Bundle b = getIntent().getExtras(); 
     selectedItems = (ArrayList<String>)b.getStringArrayList("selectedItems"); 

     Log.d("selectedItems",selectedItems.toString()); 

     viewPager = (ViewPager) findViewById(R.id.pager); 

     Intent i = getIntent(); 
     int position = i.getIntExtra("position", 0); 

     adapter = new FullScreenImageAdapter(Details.this, selectedItems); 
     viewPager.setAdapter(adapter); 

     viewPager.setCurrentItem(position); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu){ 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.details_action_bar, menu); 
     return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     switch(item.getItemId()){ 
      case R.id.action_add_to_cart: 
       UploadImages(); 
       break; 
      default: 
       break; 
     } 

     return super.onOptionsItemSelected(item); 
    } 


    public void UploadImages(){ 
     Spinner spinner = (Spinner) findViewById(R.id.sizes); 
     String temp = spinner.getSelectedItem().toString();  
     Toast.makeText(getApplicationContext(), temp, Toast.LENGTH_LONG).show(); 
    } 

} 

什麼情況是:當我選擇多個圖像提供多我和微調TextView的,我試圖檢索微調和Tex​​tView的值但它只給我第一個價值。我怎樣才能得到所有設置在微調和textView的值

回答

0

你是說像你一樣只有一個物品,r8?我做了一個類似這樣的代碼。但改變是,而不是這個:

sizes = new ArrayList<String>(); 
sizes.add("3x4"); 
sizes.add("4x6"); 
sizes.add("5x8"); 

我在string.xml中添加了字符串數組。你也可以嘗試嗎?

+1

沒有它沒有。我清單很好。它是這樣的:如果我選擇了3個圖像,那麼它將爲我提供3個旋轉器,並且我可以設置所有三個旋鈕,但問題是當我最終想要上傳所有這三個圖像時,我得到的旋鈕值總是一個不是3的值。我想要所有這3個值... – Robz

+0

你正在得到哪一個?第一次選擇一個還是最後一個選定的? – Aneez

+1

我得到的第一個只有 – Robz