我正在尝试创建一个简单的消息传递应用程序,将文本和照片发送到另一个活动,但我只知道如何显示文本,你能教我如何显示照片吗?我只是一个新的程序员,我想学习,所以我希望你能帮助我们:)
以下是我发送活动的代码..
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView (R.layout.main);
button = (Button) findViewById(R.id.btn_attach_pic);
imageView = (ImageView) findViewById(R.id.btn_img_view);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent camera_intent = new Intent (MediaStore.ACTION_IMAGE_CAPTURE);
File file = getFile();
camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
startActivityForResult(camera_intent, CAM_REQUEST);
}
});
}
public void sendMessage (View view){
message_text = (EditText) findViewById(R.id.editText);
String message = message_text.getText().toString();
Intent intent = new Intent (this, NextActivity.class);
intent.putExtra(MESSAGE_KEY,message);
startActivity (intent);
}
private File getFile(){
File folder = new File("sdcard/UHelp_images");
if(!folder.exists())
{
folder.mkdir();
}
File image_file = new File(folder,"temp.jpg");
return image_file;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
String path = "sdcard/UHelp_images/temp.jpg";
imageView.setImageDrawable(Drawable.createFromPath(path));
}
这是接收班......
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra (MESSAGE_KEY);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(textView);
答案 0 :(得分:1)
你应该用其他活动加载它:
File imgFile = new File("sdcard/UHelp_images/temp.jpg");
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
myImage.setImageBitmap(myBitmap);
}
希望这会对你有所帮助。
答案 1 :(得分:0)
你也可以传递图像的Drawable
或path
,就像你使用putExtras()
一样传递信息,然后传递给另一个Activity
,只传递StringKey
1}}您将获得Drawable
或path
,您可以根据需要使用它。
我不确定这是否正确path
但如果是,您可以通过此String
,然后从Image
执行此path
imageView.setImageDrawable(Drawable.createFromPath(path));
Drawable
1}}甚至你可以传递Activity
...并在另一个sdcard/UHelp_images/temp.jpg
<div class="pertama">
<div class="jumbotron">
<div class="container">
<h1>Aceh Bus App</h1>
<hr class="light">
<h2>Satu Aplikasi. Semua Bus</h2>
<button class="btn">
Tentang Aceh Bus App
</button>
</div>
</div>
答案 2 :(得分:0)
发送图片路径以及短信,如下面的代码:
public void sendMessage (View view){
message_text = (EditText) findViewById(R.id.editText);
String message = message_text.getText().toString();
Intent intent = new Intent (this, NextActivity.class);
intent.putExtra(MESSAGE_KEY,"sdcard/UHelp_images/temp.jpg");
intent.putExtra(IMAGE_PATH_KEY,message);
startActivity (intent);
}
(我对图像路径进行了硬编码,您可以将变量放在那里) 在接收活动上,获取该Image Path并将其存储为String
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
String message = intent.getStringExtra (MESSAGE_KEY);
String ImagePath = intent.getStringExtra (IMAGE_PATH_KEY);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(textView);
如果您在接收活动中有Image Path,那么您可以按照@Cas Answer代码使用以下代码将其设置为Corresponding ImageView。
File imgFile = new File(ImagePath);
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
myImage.setImageBitmap(myBitmap);
}
保持编码