这是我的代码实现连接.
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.AsyncFacebookRunner.RequestListener;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;
import com.facebook.android.Util;
public class FacebookConnect extends Activity{
public static final String TAG = "FACEBOOK";
private Facebook mFacebook;
public static final String APP_ID = "XXX";
private AsyncFacebookRunner mAsyncRunner;
private static final String[] PERMS = new String[] { "read_stream" };
private …Run Code Online (Sandbox Code Playgroud) 我目前正在开发Android应用程序,我一直在关注如何使用和改进Google地图应用程序的本教程.
我已经设法在屏幕上显示地图,在触摸时我获得了一个位置的地址(通过反向地理编码)并显示了一个Toast.但这是我的问题 - 当你在地图上连续点击多次时,你会得到所有的toasts一个接一个,他们每个人都会花时间(在我的情况下) - Toast.LENGTH_LONG消失.我想让应用程序自动关闭旧的toast并显示一个新的toast,点击新的地址.
在其他资源中,我发现我应该将此toast.cancel()方法用于此目的,但我在使用它时遇到了麻烦 - 我已经超越了onTouchEvent- 如何在显示时检测到地图上有新的触摸toast?或许你会建议我隐藏已经开放的更好的方法toast?
我试图让我的Toast地址成为全球地址,但它也不起作用.
这是我的应用程序代码:
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
//---when user lifts his finger---
if (event.getAction() == 1) {
GeoPoint p2 = mapView.getProjection().fromPixels((int) event.getX(), (int) event.getY());
Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(p2.getLatitudeE6() / 1E6,
p2.getLongitudeE6() / 1E6, 1);
String add = " ";
if (addresses.size() > …Run Code Online (Sandbox Code Playgroud) 我从服务器收到一些数据作为JSON响应.我提取了我需要的数据,我想将这些数据放入字符串数组中.我不知道数据的大小,所以我不能将数组声明为静态.我声明了一个动态字符串数组:
String[] xCoords = {};
Run Code Online (Sandbox Code Playgroud)
在此之后,我在数组中插入数据:
for (int i=0; i<jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
xCoords[i] = json_data.getString("xCoord");
}
Run Code Online (Sandbox Code Playgroud)
但我收到了
java.lang.ArrayIndexOutOfBoundsException
Caused by: java.lang.ArrayIndexOutOfBoundsException
Run Code Online (Sandbox Code Playgroud)
将字符串动态插入字符串数组的方法是什么?
我想用我使用内置Android相机制作的图片更新ImageView.我使用以下代码:
void getPhoto() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
}
Run Code Online (Sandbox Code Playgroud)
之后我获得了这张照片:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == TAKE_PICTURE) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
ImageView photoView = (ImageView) findViewById(R.id.photoId);
photoView.setImageBitmap(photo);
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用这个代码,无论我做什么,我只得到我制作的照片的缩略图 - 我的问题是我如何才能获得刚拍摄的照片的Uri,以便不使用缩略图而是使用原始图像?
PS.我实际上需要照片的缩略图,但我也需要原始照片的Uri.
我有一个对话框:
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.location_dialog);
dialog.setTitle("My dialog");
dialog.setMessage("My dialog's content");
dialog.setCancelable(true);
dialog.setCanceledOnTouchOutside(true);
dialog.show();
Run Code Online (Sandbox Code Playgroud)
我希望能够检测对话框行外的触摸.我可以使用内置方法轻松检测对话框区域外的任何触摸
dialog.setCanceledOnTouchOutside(true);
Run Code Online (Sandbox Code Playgroud)
但是如何检测这个区域内的触摸?

我怎么能从字符串中读取数字,直到找到一个特定的字符,在我的例子中 - 一个点.
比如我有一个
String date = "18.8.2011"
int mDay = 0;
int mMonth = 0;
int mYear = 0;
Run Code Online (Sandbox Code Playgroud)
我想制作mDay = 18,mMonth = 8并且mYear = 2011- 我希望能够复制数字,直到我找到一个点.
当我尝试使用数据绑定和绑定布局中的自定义XML标记运行项目时,我收到下面描述的构建错误:
布局:
<data>
<variable
name="data"
type="com.melontech.sff.viewmodel.DataViewModel" />
</data>
...
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/placeholder_img"
app:imageUrl="@{data.imageUrl}" />
...
Run Code Online (Sandbox Code Playgroud)
View Model具有以下Binding适配器:
@BindingAdapter("bind:imageUrl")
public static void getImageUrl(ImageView imageView, String url) {
Timber.d("LOAD IMAGE WITH URL %s", url);
}
Run Code Online (Sandbox Code Playgroud)
创建ViewHolder并进行绑定的代码如下:
@Override
public ModelViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ModelListItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()), R.layout.model_list_item, parent, false);
return new ModelViewHolder(binding);
}
Run Code Online (Sandbox Code Playgroud)
构建错误:
Error:Execution failed for task ':app:transformJackWithJackForDebug'.
Run Code Online (Sandbox Code Playgroud)
com.android.jack.ir.JNodeInternalError:java.lang.Exception:java.lang.RuntimeException:failure,请参阅日志以获取详细信息.无法生成视图绑定器java.lang.IllegalArgumentException:element public default java.util.stream.IntStream codePoints()不是包含类型java.lang.String的成员,也不是com.android.jack.eclipse中的任何超类.位于android.databinding.tool.reflection.annotation的android.databinding.tool.reflection.annotation.AnnotationMethod.(AnnotationMethod.java:49)中的jdt.internal.compiler.apt.model.TypesImpl.asMemberOf(TypesImpl.java:129) .AnnotationClass.getDeclaredMethods(AnnotationClass.java:314)位于android.databinding.tool.exol.exol.MethodBaseExpr.resolveListenersAsMethodReference(MethodBaseExpr.java:71)的android.databinding.tool.reflection.ModelClass.getAbstractMethods(ModelClass.java:401)在android.databinding.tool.BindingTarget.resolveListeners(BindingTarget.java)的android.databinding.tool.Binding.resolveListeners(Binding.java:65)的android.databinding.tool.expr.FieldAccessExpr.resolveListeners(FieldAccessExpr.java:131): 164)在android.databinding.tool.LayoutBinder.(LayoutBinder.java:250)位于android.databinding.tool.DataBinder上的android.databinding.tool.DataBinder.(DataBinder.java:52)android.databinding.tool.CompilerChef.ensureDataBinder(CompilerChef.java:88) (CompilerChef.java:187)在android.databinding.annotationprocessor.ProcessExpressions.writeResourceBundle(ProcessExpressions.java:184)在android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:86)在android.databinding.annotationprocessor.ProcessDataBinding $ ProcessingStep.runStep(ProcessDataBinding.java:189)位于android的DB.databprocess.Arocessprocess.ProcessDataBinding $ ProcessingStep.access $ 000(ProcessDataBinding.java:174),位于com的android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:79). com.android.jack.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatc)中的android.jack.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:139)her.java:121)位于com.android.jack.eclipse.jdt.internal.compiler的com.android.jack.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:159). Comiler.processAnnotations(Compiler.java:909)位于com.android.jack.frontend.java.JAstBuilder.compile的com.android.jack.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:434) JAstBuilder.java:269)com.android.jack.frontend.java.JackBatchCompiler.performCompilation(JackBatchCompiler.java:219)at com.android.jack.eclipse.jdt.internal.compiler.batch.Main.compile(Main. java:1712)com.android.jack.frontend.java.JackBatchCompiler.compile(JackBatchCompiler.java:184)at …
data-binding android gradle android-custom-attributes android-databinding