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的,我試圖檢索微調和TextView的值但它只給我第一個價值。我怎樣才能得到所有設置在微調和textView的值
沒有它沒有。我清單很好。它是這樣的:如果我選擇了3個圖像,那麼它將爲我提供3個旋轉器,並且我可以設置所有三個旋鈕,但問題是當我最終想要上傳所有這三個圖像時,我得到的旋鈕值總是一個不是3的值。我想要所有這3個值... – Robz
你正在得到哪一個?第一次選擇一個還是最後一個選定的? – Aneez
我得到的第一個只有 – Robz