在另一个活动上显示图片使用按钮和edittext

时间:2013-08-25 03:47:19

标签: android image android-intent android-emulator android-linearlayout

我有关于显示图片的问题,尝试使用onclick方法并且gettext仍然无法在edittext上输入文本后显示图片。

这里是我的代码

活动第一个代码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();

 }
 });
 }
}

此代码没有任何错误,但图片仍无法显示,请帮我解决?

2 个答案:

答案 0 :(得分:0)

1)你应该关心的第一件事是你不应该使用主线程来加载来自互联网的图像,而应该使用asyncTask(doInBackground方法)从互联网获取图像,然后在onPostExecute中你可以将图像设置为你的imageView

2)这里你的错误是你的edittext是空白意味着你正在从意图中提取URL,但是你没有在SecondActivity中获取它。你可以使用

将url值设置为loadGamber()中的editText

et.setText(intent.getStringExtra( “URL”));

我希望这可以帮助你...... !!

答案 1 :(得分:0)

可能会有所帮助......

你在这些代码中犯了两个错误。

1)您已为activity_main提供按钮名称,activity_main2同名button1您需要为两个按钮分别命名,如下面的代码

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");
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);

            }
     });

activity_main2

tombo=(Button)findViewById(R.id.button2);   

2)你需要从主要活动获得意图,如下面没有onclick

的波纹线
    Intent i = getIntent();
    final string value = i.getExtras().getString("URL");