【发布时间】:2017-07-20 14:27:17
【问题描述】:
我是 android 新手,我刚刚意识到 .putExtra 是如何工作的。我想将来自两个不同活动的 2 个不同图像发送到我的主活动中的两个不同图像视图中。我尝试这样做,但每次我选择第二张图片时,第一张图片都会被我的默认图片替换。这是我的代码,任何帮助将不胜感激
我的主要活动:
public class MainActivity extends AppCompatActivity {
TextView champ1;
TextView champ2;
private ImageView image;
private ImageView image2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//--INITIALISING IMAGEVIEW--//
image = (ImageView)findViewById(R.id.champ1);
image2 = (ImageView)findViewById(R.id.champ2);
ImageView image3 = (ImageView)findViewById(R.id.vs);
//--SETTING RESOURCES FROM ANOTHER ACTIVITY--//
image.setImageResource(getIntent().getIntExtra("myImageResource",R.drawable.random));
image2.setImageResource(getIntent().getIntExtra("myImageResource2",R.drawable.random));
image3.setImageResource(R.drawable.vssymbol);
//--SETTINGS TEXT FROM ANOTHER ACTIVITY--//
champ1=(TextView) findViewById(R.id.textview1);
champ1.setText(getIntent().getStringExtra("message"));
champ2=(TextView)findViewById(R.id.textview2);
champ2.setText(getIntent().getStringExtra("message2"));
//--PICK CHAMP BUTTONS--//
Button champselect1 = (Button)findViewById(R.id.champselect1);
Button champselect2 = (Button)findViewById(R.id.champselect2);
//------------------//
champselect1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, pickchamp.class);
startActivity(intent);
}
});
champselect2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, pickchamp2.class);
startActivity(intent);
}
});
}
}
这是我想从中获取图片的第一个活动
public class pickchamp2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_Dialog);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pickchamp2);
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
//--DECLARING IMAGEBUTTONS--//
ImageButton ab = (ImageButton)findViewById(R.id.ab);
ImageButton av = (ImageButton)findViewById(R.id.av);
ImageButton ac = (ImageButton)findViewById(R.id.ac);
//--ONCLICKLISTENERS--//
ab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent champ2= new Intent(pickchamp2.this,MainActivity.class);
champ2.putExtra("myImageResource2", R.drawable.ab);
champ2.putExtra("message2", "ab");
startActivity(champ2);
}
});
av.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent champ2= new Intent(pickchamp2.this,MainActivity.class);
champ2.putExtra("myImageResource2", R.drawable.av);
champ2.putExtra("message2", "av");
startActivity(champ2);
}
});
ac.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent champ2= new Intent(pickchamp2.this,MainActivity.class);
champ2.putExtra("myImageResource2", R.drawable.ac);
champ2.putExtra("message2", "ac");
startActivity(champ2);
}
});
}
}
这是我想选择第二张图片的第二个活动
package com.example.alex.matchups;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
public class pickchamp extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_Dialog);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pickchamp);
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
//--DECLARING IMAGEBUTTONS--//
ImageButton ab2= (ImageButton)findViewById(R.id.ab2);
ImageButton av2= (ImageButton)findViewById(R.id.av2);
ImageButton ac2= (ImageButton)findViewById(R.id.ac2);
//--ONCLICKLISTENERS--//
ab2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent act2= new Intent(pickchamp.this,MainActivity.class);
act2.putExtra("myImageResource", R.drawable.ab2);
act2.putExtra("message", "ab");
startActivity(act2);
}
});
av2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent act2= new Intent(pickchamp.this,MainActivity.class);
act2.putExtra("myImageResource", R.drawable.av2);
act2.putExtra("message", "av2");
startActivity(act2);
}
});
ac2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent act2= new Intent(pickchamp.this,MainActivity.class);
act2.putExtra("myImageResource", R.drawable.ac2);
act2.putExtra("message", "ac2");
startActivity(act2);
}
});
}}
真的非常感谢
【问题讨论】:
标签: android android-intent android-imageview android-drawable android-imagebutton