私はAndroid用のPhonegapプラグインの作成に取り組んでいます。 findViewById
メソッドをthis.ctx.runOnUiThread(new Runnable()
に追加すると、タイトルに記載されているエラーが発生します。あなたが実際にメソッドを持つクラスからfindViewByIdを呼び出す必要findViewById(int)メソッドがnew型のために未定義ですRunnable(){}
package com.company.msgbox;
import java.io.File;
import org.crossplatform.phonegap.trial.alternativeTo.R;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.AlertDialog;
import android.graphics.Bitmap;
import android.view.View;
import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult;
import com.phonegap.api.PluginResult.Status;
public class msgbox extends Plugin {
private static final String SHOW = "show";
private static final int MSG_INDEX = 0;
private String msg;
@Override
public PluginResult execute(String arg0, final JSONArray arg1, String arg2) {
if (arg0.equals(SHOW)) {
this.ctx.runOnUiThread(new Runnable() {
public void run() {
// try/catch generated by editor
try {
msg = arg1.getString(MSG_INDEX);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AlertDialog alertDialog = new AlertDialog.Builder(ctx).create();
alertDialog.setTitle("Title");
alertDialog.setMessage(msg);
alertDialog.show();
View content = findViewById(R.id.layoutroot);
Bitmap bitmap = content.getDrawingCache();
File file = new File("/sdcard/test.png");
}
});
}
return new PluginResult(Status.OK);
}
}
あなたのインデントに。今すぐコードを読むことはできません。 – Gray
私はインデントを編集して、検証を待っていました。それは確かに判読不能でした – Guillaume
おかげでギョーム:) – jcrowson