我在android上开发了用于上传图片的代码,但是遇到了一些代码错误。我在互联网上搜索解决方案,但无法成功解决问题?我使用了以下代码:
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.net.Uri;
public class MainActivity extends AppCompatActivity {
private static final int SELECTED_PICTURE=1;
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv=(ImageView)findViewById(R.id.imageView1);
}
public void btnClick(View v){
Intent i=new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i,SELECTED_PICTURE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode,resultCode, data);
switch (requestCode)
{
case SELECTED_PICTURE:
if(resultCode==RESULT_OK)
{
Uri uri=data.getData();
String[]projection={MediaStore.Images.Media.DATA};
Cursor cursor=getContentResolver().query(uri, projection, null, null, null);
cursor.moveToFirst();
int ColumnIndex= cursor.getColumnIndex(projection[0]);
String filePath=cursor.getString(ColumnIndex);
cursor.close();
Bitmap YourSelectedImage=BitmapFactory.decodeFile(filePath);
Drawable d=new BitmapDrawable(YourSelectedImage);
iv.setBackground(d);
}
break;
ault:
break;
}
}
}
在第49行(
iv.setBackground(d);
)中,出现错误“ call require API 16 android.view.View#setBackground。第52行(ault:
)中有 未使用的标签错误的错误。第53行(break;
)中存在错误 无法到达的声明。
请帮助我解决这个问题?
答案 0 :(得分:1)
您可以使用:
iv.setBackgroundDrawable(d);
Explanation为何显示错误:
int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable();
} else {
setBackground();
}