我需要一些帮助来刷新我的应用程序中的一个活动.我正在使用标签主机活动并连接到Web服务并从我的一个子活动中下载一些数据.当我在我的子活动中按下同步按钮时,我正在开始一个不在标签主机中的新活动,当同步完成后,它将返回到它的父项(子活动).我想要实现的是当我返回它时刷新活动.当我通过互联网查看时,我发现最好的选择就是使用startActivityForResult,但我真的不明白如何使用它,以及当我从完成的活动中收到结果时如何刷新活动.
如果有人能帮助我,我会很高兴.谢谢!
编辑:
我正在使用此代码,它甚至没有显示登录 onActivityResult
MyCollectionId.class:
Intent intent = new Intent(MyCollectionId.this, Synchronization.class);
intent.putExtra("process", 2);
startActivityForResult(intent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK){
Log.e("","OnActivityResult");
Intent refresh = new Intent(this, MyCollectionId.class);
startActivity(refresh);
this.finish();
}
}
Run Code Online (Sandbox Code Playgroud)
Synchronization.class:
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
setResult(RESULT_OK,intent);
finish();
Run Code Online (Sandbox Code Playgroud) 可能重复:
插入后获取生成的ID
我想使用此代码在我的Android应用程序中获取最后插入的行ID:
String query = "SELECT * from SQLITE_SEQUENCE";
int createdUserId = Integer.parseInt(dbHelper.executeSQLQuery(query).toString());
Run Code Online (Sandbox Code Playgroud)
但问题是它抛出了一个无法转换dbHelper.executeSQLQuery(query).toString()为整数的异常.我不是很擅长sqlite,但我认为这应该返回插入的最后一行id ...肯定会是int(至少我认为这样).所以,如果这不是正确的方法,有人可以指导我如何在Android应用程序中获取最后一行ID.
谢谢!!!
如何在Java中将值从Enum1转换为Enum 2?这是我正在尝试做的一个例子:
public enum Enum1 {
ONE,
TWO,
THREE;
}
public enum Enum2 {
FOUR,
FIVE,
SIX;
}
Run Code Online (Sandbox Code Playgroud)
所以我想做这样的事情:
Enum2 en2 = (Enum2)ONE;
Run Code Online (Sandbox Code Playgroud)
有可能,我该怎么做?
提前致谢!
我想学习如何在我的Android应用程序中创建图层(如在photoshop中).我想实现一个基本的东西:当我在画布中添加一个图像时,例如,我想要能够绘制画布,但画面不能影响图形的线条.然后我需要将该图像保存在我的SD卡上.
有什么建议/意见/例子吗?我可以用什么来实现这个目标?
我试图在Objective C中找到init和构造函数之间的区别.我不是C开发人员,但我需要将一些Objective C代码转换为Java,实际上我无法理解这两者之间的区别.
我需要一点帮助,每秒从Runnable/Handler更新我的UI.我正在使用此代码:
Runnable runnable = new Runnable() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
prBar.setProgress(myProgress);
y = (double) ( (double) myProgress/ (double) RPCCommunicator.totalPackets)*100;
txtInfoSync1.setText(Integer.toString((int)y) + "%");
prBar.setMax(RPCCommunicator.totalPackets);
int tmp = totalBytesReceived - timerSaved;
Log.w("","totalBytesReceived : "+totalBytesReceived + " timerSaved : "+timerSaved );
Log.w("","tmp : "+tmp);
if (avgSpeedCalc.size() > 10)
{
avgSpeedCalc.remove(0);
}
avgSpeedCalc.add(tmp);
int x = 0;
for (int y=0;y<avgSpeedCalc.size();y++)
{
x += avgSpeedCalc.get(y);
Log.d("","x : "+x);
}
x = Math.round(x/avgSpeedCalc.size());
Log.e("","x : "+x); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个测试项目,类似于FingerPaintAndroid SDK演示中的示例.我试图在我的项目中实现撤消/重做功能,但我尝试的东西并没有像我期望的那样工作.我在互联网和这里找到了一些与此类似的问题,但是他们没有帮助我,这就是我问一个新问题的原因.
以下是我正在做的事情:
public class MyView extends View {
//private static final float MINP = 0.25f;
//private static final float MAXP = 0.75f;
private Path mPath;
private Paint mBitmapPaint;
public MyView(Context c) {
super(c);
mPath = new Path();
mBitmapPaint = new Paint(Paint.DITHER_FLAG);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
mCanvas = new Canvas(mBitmap);
mCanvas.drawColor(Color.WHITE);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(mBitmap, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将图像与我的相对布局顶部对齐,然后将其水平对齐.这是我正在使用的代码:
<ImageView
android:id="@+id/collection_image_background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
Run Code Online (Sandbox Code Playgroud)
,但此代码无效.我的图像居中,但未在我的相对布局顶部对齐.我尝试过android:scaleType="fitStart",但它实际上是将图像左侧和顶部对齐的父级.
那么任何想法如何我可以正确对齐图像?
PS我忘了提到我正在将图像设置为我ImageView这样:
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inTempStorage = new byte[8*1024];
ops = BitmapFactory.decodeStream(cis,null,o2);
ImageView view = (ImageView) findViewById(R.id.collection_image_background);
view.setImageBitmap(ops);
Run Code Online (Sandbox Code Playgroud) 我正试图找到一种方法来设置画布的背景,使用从自定义颜色选择器中拾取的颜色,而不删除任何图纸.我正在尝试创建一个可以在画布上绘制的应用程序,而不是将其保存为png.但是当我为当前画布设置新背景时,所有绘图都消失了.我正在使用这样的东西:
mCanvas.drawColor(picker.getColor());
任何想法如何让事情发挥作用?
我正在使用类似于Android SDK的Finger Paint演示的Canvas应用程序.我的问题是我正在使用的时候PorterDuff.Mode.CLEAR.当绘制和画布时,如果我试图擦除某些东西,它工作正常.但是如果我试图将我的图像保存为PNG文件,则橡皮擦的笔划会变成黑色,我不确定为什么会发生这种情况.这是我正在做的一个例子:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, mPaint);
}
Run Code Online (Sandbox Code Playgroud)
橡皮擦:
case ERASE_MENU_ID:
mPaint.setXfermode(new PorterDuffXfermode(
PorterDuff.Mode.CLEAR));
return true;
Run Code Online (Sandbox Code Playgroud)
以及我如何保存图像:
Calendar currentDate = Calendar.getInstance();
SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMMddHmmss");
String dateNow = formatter.format(currentDate.getTime());
File dir = new File(mImagePath);
if(!dir.exists())
dir.mkdirs();
File file = new File(mImagePath + "/" + dateNow +".png");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
Toast.makeText(getApplicationContext(), "File saved at \n"+mImagePath + "/" + dateNow …Run Code Online (Sandbox Code Playgroud) android ×8
paint ×2
android-view ×1
bitmap ×1
casting ×1
constructor ×1
enumeration ×1
enums ×1
handler ×1
init ×1
java ×1
layer ×1
objective-c ×1
refresh ×1
runnable ×1
sqlite ×1