Android Studio onClick 按钮在另一个 activity 中显示 ImageView(第 2 部分)

Android Studio onClick button to display ImageView in another activity (part 2)

我想我没有正确描述我在这个 中的意思。所以我在这里输入更多细节。请看一看 。

activityOne.java

EditText get_input;
Button get_button;
String display;
int image_id;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    get_input=(EditText)findViewById(R.id.input_year);
    get_button=(Button)findViewById(R.id.button_submit);

    get_button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {


            int store_get_input=Integer.parseInt(get_input.getText().toString());
            int results;
            results=store_get_input%12;


             if (results == 0) {

                    display = "Your number is "store_get_input";
                    image_id=0;

                } else if (result ==1){

                    display = "Your number is "store_get_input";
                    image_id=1;

                }else{

                    display = "Your number is others";
                    image_id=3;
                }

            Intent home_intent=new Intent(getApplicationContext(),Result_page.class);
            home_intent.putExtra("home_store_get_input",display);
            home_intent.putExtra("home_store_image_src",image_id);
            startActivity(home_intent);

        }
    });
}

activityTwo.java

public class Result_page extends AppCompatActivity {

TextView get_result;
ImageView get_image;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_result_page);


    get_result=(TextView)findViewById(R.id.display_result);
    get_image=(ImageView)findViewById(R.id.image_view);

    Intent result_intent=getIntent();
    String text=result_intent.getStringExtra("home_store_get_input");

    get_result.setText(text);// display what the user has enter

    // get_image.setImageResource  
    //OR other coding to display imageview by using the image_id from activty 1? 
}

从两个 java 文件中,我认为你们阅读起来会更清晰、更容易。所以我停留在 activityTwo.java 过去,我需要输入一些代码才能通过使用 int image_id 或其他编码来显示图像视图。

在秒内将字符串转换为整数 activity 并使用 switch case 根据该数字选择图像。喜欢:

Intent result_intent = getIntent();
String text = result_intent.getStringExtra("home_store_get_input");
try {
    int number = Integer.parseInt(text);
} catch(NumberFormatException e) {
   //Exception
}
int imageId = R.Drawable.default_image;
switch(number) {
    case 1:
           imageId = R.drawable.image1;
           break;
    case 2:
           imageId = R.drawable.image2;
           break;
           ........so on
}
ImageView.setImageResource(imageId);

我认为您不需要 2 个重复的问题。

方法一:

方法二: 在 activity 1 只需将图像 ID 发送到 activity 2

if (results == 0) { 
   display = "Your number is "store_get_input";
   image_id = R.drawable.image0; 
} else if {...}

In activity 2 从 intent 中获取图像 ID

int defaultIdWhenCouldNotFindImageSourceId = -1;//should use a negative value 
int imageId = result_intent.getIntExtra("home_store_image_src", defaultIdWhenCouldNotFindImageSourceId);
if( defaultIdWhenCouldNotFindImageSourceId != imageId) {
    //when you can find an valid image id in intent extra, display it
    get_image.setImageResource(imageId);
}