다양한 정보가 포함 된 이미지를 업로드하는 앱을 만들고 있습니다. 나는 전화 갤러리에서 이미지를 얻을 수 있고 나는 폼을 채울 수있는 슬라이더를 만들었다. 형태에서 나는 회와 텍스트 뷰를 사용하고 내 레이아웃은 다음과 같습니다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();
}
}
는 무슨 일이다 : 나는 여러 개의 이미지를 선택하면 그것은 나에게 여러 회와 텍스트 뷰를 제공하고, 내가 회 전자와 텍스트 뷰에서 값을 검색하려고 하지만 그것은 나에게 처음 값만을 준다. Spinner 및 textView에 설정된 모든 값을 얻으려면 어떻게해야합니까?
아니요. 나는 목록을 잘 얻는다. 그것 같이 : 만약 내가 3 개의 이미지를 선택하면 3 개의 스피너를 제공 할 것이고 3 개의 스피너를 모두 설정할 수는 있지만, 문제는 내가이 3 개의 이미지를 모두 업로드하려고 할 때 얻는 회 전자 값은 항상 3이 아닌 값입니다. 나는 그 모든 3 가지 가치를 원합니다 ... – Robz
당신은 어느 것을 얻고 있습니까? 첫 번째 선택한 하나 또는 마지막으로 선택한 하나? – Aneez
첫 번째 코드 만 가져오고 있습니다 – Robz