【发布时间】:2015-11-19 16:59:31
【问题描述】:
我正在制作一个应用程序,用户可以在其中选择一种设计,然后在下一页中输入他们的详细信息。就目前而言,用户可以选择多种设计,然后根据他们选择的设计,该设计将在下一页中显示为预览。为了避免每个设计都有一个单独的 java 类,我希望有一个类可以更改预览图像,具体取决于用户选择的设计。
目前,我可以更改第二个活动上显示的图像,但无法将图像更改为用户选择的特定设计。
This is what the page looks like where the user chooses their design (named SelectDesign.java)
This is what the preview page looks like (named GarmentEntry.java)
这是他们选择设计的活动的代码 - SelectDesign.java(为简单起见,我只包括前三个设计 - 它们都有相同的基本轮廓)
package com.example.joe.printedclothing;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
public class SelectDesign extends AppCompatActivity {
private static Button HenCockButton, CocktailHenButton, ValueHenButton, XAngelsButton, AlcDisposal, LastNightOfFreedom, BeaverPatrol, Paraletic, FellasOnTour, ValueStag, Wolfpack, PhotoStagHen;
ImageView imagePreviewButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.select_design);
HenCockButton = (Button) findViewById(R.id.hencocksthumbB);
HenCockButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent henCockIntent = new Intent(SelectDesign.this, GarmentEntry.class);
henCockIntent.putExtra("hen cock parameter", R.drawable.onehenthreechicks);
startActivity(henCockIntent);
}
});
CocktailHenButton = (Button) findViewById(R.id.cocktailhenthumb);
CocktailHenButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cocktailHenIntent = new Intent(SelectDesign.this, GarmentEntry.class);
cocktailHenIntent.putExtra("cocktail hen parameter", R.drawable.cocktailhen);
startActivity(cocktailHenIntent);
}
});
ValueHenButton = (Button) findViewById(R.id.valuehenthumb);
ValueHenButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent valueHenIntent = new Intent(SelectDesign.this, GarmentEntry.class);
valueHenIntent.putExtra("Value Hen parameter", R.drawable.valuehen);
startActivity(valueHenIntent);
}
});
这是他们输入详细信息的活动代码,并有一个预览 - GarmentEntry.java(不包括微调器和按钮之类的代码)
package com.example.joe.printedclothing;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Spinner;
public class GarmentEntry extends AppCompatActivity {
Spinner tcshenspinner, backprintoptionsspinner, tcbackhenspinner, cosspinner, ppspinner;
ArrayAdapter<CharSequence> tcshenspinneradapter, backprintoptionsspinneradapter, tcbackhenspinneradapter, cosspinneradapter, ppspinneradapter;
Button nextButton1;
public static ImageView imagePreview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.garment_entry);
imagePreview = (ImageView) findViewById(R.id.imagePreview);
// Hen cocks
imagePreview.setImageResource(getIntent().getIntExtra("hen cock parameter", R.drawable.onehenthreechicks));
// Cocktail hen
imagePreview.setImageResource(getIntent().getIntExtra("cocktail hen parameter", R.drawable.cocktailhen));
// Value hen
imagePreview.setImageResource(getIntent().getIntExtra("Value Hen parameter", R.drawable.valuehen));
现在,我明白只有一张图片被传递到下一个活动的原因。代码是按顺序读取的,因此它采用它读取的最后一个值(我认为我在这里是正确的)。但我不知道如何根据用户选择的图像来改变图像。任何帮助将不胜感激!
【问题讨论】:
标签: java android android-intent android-studio imageview