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);
}
我想我没有正确描述我在这个
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);
}