Tag: android

不能在没有调用Looper.prepare()的线程中创build处理程序

以下例外是什么意思; 我该如何解决? 这是代码: Toast toast = Toast.makeText(mContext, "Something", Toast.LENGTH_SHORT); 这是例外: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() at android.os.Handler.<init>(Handler.java:121) at android.widget.Toast.<init>(Toast.java:68) at android.widget.Toast.makeText(Toast.java:231)

RecyclerView onClick

有没有人使用RecyclerViewfind一种方法来设置一个onClickListener项目在RecyclerView ? 我想为每个项目的每个布局设置一个监听器,但这看起来有点太麻烦了,我确信RecyclerView有一个方法来监听onClick事件,但是我无法弄清楚。

NetworkOnMainThreadException

我刚刚在官方文档中发现了NetworkOnMainThreadException 并想知道模拟器是否正在抛出这个。 我一直在testing我的应用程序,据我所知,所有的networking都脱离主线程(使用Roboguice RoboAsyncTask),但你永远不知道是否没有逃脱。 我也使用StrictMode并没有看到任何东西。 我的代码是干净的,还是不会在模拟器上抛出? 我们应该如何准备在生产中发生这种情况呢? 宽限期或什么? 或者现在已经过去了;-) ??

如何使用LocalBroadcastManager?

如何使用/定位LocalBroadcastManager在谷歌文档和服务广播文档中所述 ? 我试图谷歌,但没有可用的代码开始? 文件说,如果我想在我的应用程序的进程内部进行广播,我应该使用它,但我不知道在哪里寻找这个。 任何帮助/评论? 更新 :我知道如何使用广播,但不知道如何让LocalBroadcastManager在我的项目中可用。

自动缩放TextView文本以适合边界

我正在寻找一个最佳的方式来调整在TextView包装文本,以便它将适合其getHeight和getWidth范围内。 我不是简单地寻找一种方式来包装文本 – 我想确保它包装,并足够小,完全适合在屏幕上。 我在StackOverflow上看到了一些需要自动resize的例子,但是它们或者是非常特殊的黑客解决scheme,没有解决scheme,或者是recursion地TextView直到它足够小(这是内存激烈和强制用户每次recursion观看文本缩小步骤)。 但是我确定有人在那里find了一个不涉及我所做事情的好方法:编写几个沉重的例程来分析和测量文本,调整文本的大小,并重复,直到find适当的小尺寸。 TextView使用哪些例程来包装文本? 难道不能以某种方式来预测文字是否足够小? tl; dr :是否有一个最佳实践的方式来自动resize的TextView适合,包装,在其getHeight和getWidth范围?

onActivityResult不在Fragment中调用

托pipe此片段的活动在相机活动返回时调用onActivityResult 。 我的片段开始一个活动的结果与意图发送给相机拍照。 图片应用程序加载正常,拍照,并返回。 然而, onActivityResult从来没有被击中。 我设置了断点,但没有任何触发。 片段是否有onActivityResult ? 我会这么想,因为这是一个提供的function。 为什么这不被触发? ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image); myImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, 1888); } }); @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if( requestCode == 1888 ) { Bitmap photo = (Bitmap) data.getExtras().get("data"); ((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo); […]

如何创build多个视图types的RecyclerView?

从https://developer.android.com/preview/material/ui-widgets.html 当我们创buildRecyclerView.Adapter我们必须指定将与该适配器绑定的ViewHolder 。 public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private String[] mDataset; public MyAdapter(String[] myDataset) { mDataset = myDataset; } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(TextView v) { super(v); mTextView = v; } } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.some_layout, parent, false); //findViewById… […]

如何检查Android的互联网接入? InetAddress永远不会超时

我有一个AsyncTask应该检查networking对主机名的访问。 但doInBackground()永远不会超时。 任何人都有线索? public class HostAvailabilityTask extends AsyncTask<String, Void, Boolean> { private Main main; public HostAvailabilityTask(Main main) { this.main = main; } protected Boolean doInBackground(String… params) { Main.Log("doInBackground() isHostAvailable():"+params[0]); try { return InetAddress.getByName(params[0]).isReachable(30); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } protected void onPostExecute(Boolean… result) { Main.Log("onPostExecute()"); […]

我怎样才能把一个ListView到一个滚动视图没有崩溃?

我已经search了解决这个问题的方法,唯一的答案我可以find似乎是“ 不要把一个ListView到ScrollView ”。 为什么我还没有看到任何真正的解释。 我似乎发现的唯一原因是Google认为你不应该这样做。 那么我呢,所以我做了。 所以问题是,如何将一个ListView放入一个ScrollView而不会折叠到最小高度?

实例化新的Android Fragment的最佳做法

我已经看到了两个通用实践来在应用程序中实例化一个新的片段: Fragment newFragment = new MyFragment(); 和 Fragment newFragment = MyFragment.newInstance(); 第二个选项使用静态方法newInstance() , 通常包含以下方法。 public static Fragment newInstance() { MyFragment myFragment = new MyFragment(); return myFragment; } 起初,我认为主要的好处是,我可以重载newInstance()方法来创build一个Fragment的新实例时的灵活性 – 但是我也可以通过为Fragment创build一个重载的构造函数来实现。 我错过了什么? 一种方法比另一种方法有什么好处? 或者这只是一个好习惯?