Android 方法和变量
再次询问有关我的代码的问题。它工作不正常,我在XML中调用了它们,但它们仍然不工作。代码如下:问题代码以粗体突出显示。我也在发布我的XML。Java代码在顶部,我的XML代码在底部Android 方法和变量,android,Android,再次询问有关我的代码的问题。它工作不正常,我在XML中调用了它们,但它们仍然不工作。代码如下:问题代码以粗体突出显示。我也在发布我的XML。Java代码在顶部,我的XML代码在底部 package app.com.example.android.shoutoutapp; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.g
package app.com.example.android.shoutoutapp;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.R;
import android.*;
import java.io.FileNotFoundException;
public class MainActivity extends Activity {
TextView textTargetUri;
ImageView targetImage;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonAddPhoto = (Button)findViewById(R.id.add_photo);
textTargetUri = (TextView)findViewById(R.id.targeturi);
targetImage = (ImageView)findViewById(R.id.targetimage);
buttonAddPhoto.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 0);
}});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Uri targetUri = data.getData();
textTargetUri.setText(targetUri.toString());
Bitmap bitmap;
try {
bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
targetImage.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
<RelativeLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView" />
<TextView
android:text= "Thot of The Day!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="60sp"
android:layout_centerHorizontal="true"
android:gravity="center"
android:id="@+id/text_shout_out"
/>
<Button
android:id="@+id/add_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Add Photo"
android:gravity="center"
android:layout_below="@+id/text_shout_out"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="131dp"
android:onClick="LoadImage"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/targeturi"/>
</RelativeLayout>
package-app.com.example.android.shoutoutapp;
导入android.app.Activity;
导入android.content.Intent;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.net.Uri;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.TextView;
导入android.R;
导入android。*;
导入java.io.FileNotFoundException;
公共类MainActivity扩展了活动{
TextView textTargetUri;
图像视图目标图像;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonAddPhoto=(按钮)findViewById(R.id.add_photo);
textTargetUri=(TextView)findViewById(R.id.targeturi);
targetImage=(ImageView)findViewById(R.id.targetImage);
buttonAddPhoto.setOnClickListener(新建Button.OnClickListener()){
@凌驾
公共void onClick(视图arg0){
//TODO自动生成的方法存根
意向意向=新意向(意向.行动\u选择,
android.provider.MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);
startActivityForResult(意向,0);
}});
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
//TODO自动生成的方法存根
super.onActivityResult(请求代码、结果代码、数据);
if(resultCode==RESULT\u OK){
Uri targetUri=data.getData();
textTargetUri.setText(targetUri.toString());
位图;
试一试{
位图=BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri));
targetImage.setImageBitmap(位图);
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
}
}
您的ImageView
具有idImageView
而不是targetimage
更改xml中的ImageView
,如下所示
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/targetimage" />
。他们的工作在**。我可以把它们做成红色。星星显示出问题所在。代码在开头。这是不可执行的,你不能像那样同时运行Java和XML代码。或者,不要在同一代码块中提供来自两个不同文件的示例代码,这可能就是您正在做的。从您的问题来看,不清楚这是编译时错误、运行时错误还是IDE错误(编译时)。请在单独的块中发布完整的java代码,然后任何人都可以帮助您解决问题。很可能是XML资源错误导致资源文件编译中断。或者您导入了错误的资源文件(有时人们导入android.R而不是自己的资源文件)。查看导入,确保看到“导入my.package.R;”