Android 在另一个活动上显示图片使用按钮和编辑文本

Android 在另一个活动上显示图片使用按钮和编辑文本,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

我在显示图片方面遇到问题,尝试使用onclick方法,在edittext上输入文本后,gettext仍然无法显示图片

这是我的密码

活动优先代码java

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");