Android 在另一个活动上显示图片使用按钮和编辑文本
我在显示图片方面遇到问题,尝试使用onclick方法,在edittext上输入文本后,gettext仍然无法显示图片 这是我的密码 活动优先代码javaAndroid 在另一个活动上显示图片使用按钮和编辑文本,android,image,android-intent,android-emulator,android-linearlayout,Android,Image,Android Intent,Android Emulator,Android Linearlayout,我在显示图片方面遇到问题,尝试使用onclick方法,在edittext上输入文本后,gettext仍然无法显示图片 这是我的密码 活动优先代码java public class MainActivity extends Activity { EditText et; private Button tombol; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
public class MainActivity extends Activity {
EditText et;
private Button tombol;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tombol=(Button)findViewById(R.id.button1);
tombol.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
intent.putExtra("URL", "http://epiece.hostingforfree.com/cam_1.jpg");
startActivityForResult(intent, 0);
}
});
}
第二个活动java代码
public class MainActivity2 extends Activity {
EditText et;
ImageView iv;
public Button tombol;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
loadGambar();
}
private void loadGambar(){
try {
iv = (ImageView) findViewById(R.id.imageView1);
et = (EditText) findViewById(R.id.editText1);
tombol = (Button) findViewById(R.id.button1);
URL url = new URL (et.getText().toString());
InputStream is = (InputStream) url.getContent();
Drawable gambar = Drawable.createFromStream(is, "src");
iv.setImageDrawable(gambar);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
tombol=(Button)findViewById(R.id.button1);
tombol.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
String string = getIntent().getExtras().getString("URL");
Intent intent=new Intent();
setResult(RESULT_OK, intent);
finish();
}
});
}
}
此代码没有任何错误,但图像仍然无法显示,请帮助我修复它?1)您应该注意的第一件事是您不应该使用主线程从internet加载图像,而应该使用asyncTask(doInBackground方法)要从internet获取图像,然后在onPostExecute中,可以将图像设置为imageView
2) 这里您的错误是edittext为空表示您正在从intent中获取URL,但在SecondActivity中无法获取该URL。您可以在loadGamber()中将URL值设置为edittext,方法是使用
et.setText(intent.getStringExtra(“URL”)
我希望这对你有帮助 也许这会有帮助 你犯了两个错误 1) 您已经为
activity\u main
,activity\u main 2
相同名称button1
您需要为两个按钮分别命名,如以下代码
activity\u main
tombol=(Button)findViewById(R.id.button1);
tombol.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
intent.putExtra("URL", "http://epiece.hostingforfree.com/cam_1.jpg");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
activity\u main2
tombo=(Button)findViewById(R.id.button2);
2) 你需要从主要的活动中获得意图,比如在onclick中不使用下面的行
Intent i = getIntent();
final string value = i.getExtras().getString("URL");