Articles of android

toolbar.setNavigationOnClickListener不起作用

toolbar.setNavigationOnClickListener这个函数不工作,不知道为什么。 activity_main.xml布局 container_main.xml布局 Java Activity类 import android.app.Fragment; import android.app.FragmentManager; import android.content.res.TypedArray; import android.os.Bundle; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.View; import android.widget.ListView; public class MainActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; // slide menu items private String[] navMenuTitles; private TypedArray navMenuIcons; private ArrayList navDrawerItems; private NavDrawerListAdapter […]

ViewHolder模式中setTag和getTag的工作原理是什么?

我有一个简单的代码片段来实现自定义列表视图。 我的代码如下: WeatherAdapter.java: public class WeatherAdapter extends ArrayAdapter{ Context mcontext; int mlayoutResourceId; weather mdata[] = null; View row; public WeatherAdapter(Context context, int layoutResourceId, weather[] data) { super(context, layoutResourceId, data); mlayoutResourceId = layoutResourceId; mcontext = context; mdata = data; } @Override public View getView(int position, View convertView, ViewGroup parent) { row = convertView; WeatherHolder holder = […]

EditText没有底部的行

我想创建我的编辑文本字段,而不是底部的行,就像在这张图片中一样 现在我的编辑文本看起来像这样 我该怎么做?

Dalvik VM和ART Runtime有什么区别?

自首个Android版本以来,Dalvik VM一直是默认的VM。 谷歌在KitKat 4.4中发布了新的ART运行时。 AndroidPolice表示,这将提高应用程序性能和电池寿命。 不幸的是,几乎没有关于ART的技术信息。 只有这个页面 。 根据我的理解,Dalvik VM在运行时将dex字节码转换为机器指令。 ART将dex代码预编译为本机指令,以便消除运行时转换步骤。 关于这个: 我的理解准确吗? 如果ART将dex字节码编译成本机,那么垃圾收集器会发生什么? ART背后的想法是否与微软的NGEN类似? ART如何影响应用调试?

Android:如何摆脱scrollView的“褪色边缘”

我在ScrollView中嵌入了一个文本视图时出现问题。 也就是说,当我滚动文本时,一条细细的橙色线条短暂地显示出我已经走到了特定方向的jar头。 我尝试了一些像“android:fadingEdge =”none“这样的东西并设置背景颜色,但它只是停留在那里。 如何摆脱或控制这些“滚动结束”颜色?

(Android)如何填充ListView背景并保留标题透明度

我有一个自定义图像背景,填充ListView后面的整个屏幕。 ListView有一个包含一些数据的标题,然后是一个透明的10dp边距(允许我们看到一点背景图像),然后是一些更多的数据。 在这个标题下面,在ListView的“主体”中,我需要将ListView的背景填充到屏幕的底部,即使其中的项目不是一直到底部。 如果我设置了ListView的背景,那么即使只有几个项目(或根本没有项目),我也会得到所需的效果,总是填充到屏幕的底部。 但这也掩盖了标题中的10dp透明分隔符,因此我无法再通过标题看到自定义背景。 有人可以指出我在正确的路径下获得屏幕填充同时保持标题内的透明分隔线? 有人提到我可能需要创建“假”项单元格,可用于创建ListView背景的错觉,而不会影响标题的透明分隔符。 但是,如果可能的话,我希望find一个更简单的解决方案..或者如果这是最好的解决方案,看看有人能给我一些关于如何以最有效的方式实现这一目标的指示。 谢谢! 编辑: 这是我如何定义标题,虽然我认为这个问题与ListView有关,而不是我通过addHeaderView()添加到ListView的标题。 **** 所以,我已经尝试了各种方法来创建10dp填充,目前我正在使用“空”10dp LinearLayout,这样我就可以获得对它的引用,并在我想要时将其可见性设置为GONE(我不是这样做的)在我讨论的情况下) 我正在设置ListView的背景,如下所示:listView.setBackgroundResource(resource)。 再次,当我将背景设置为此ListView时,我得到所需的背景行为总是填满整个屏幕,即使我已添加到列表中的项目数量(顺便说一下,所有项目都使用与我相同的背景资源)设置为ListView)不足以填满屏幕。 但是当我这样做时,标题中的10dp“透明边距”是不可见的,因为在它后面,ListViews背景阻止了底层视图被看到。 我假设发生这种情况是因为ListView的背景也落后于页眉和页脚视图。 关键是,有很多方法可以在元素之间创建一个10dp的“透明边距”,以允许底层视图显示出来。 我的问题在于为ListView“body” (即不是页眉/页脚)创建一个总是填满屏幕的背景,即使列表部分填充或为空,同时保留了标题中的透明度,以便我仍然可以看到ListView“后面”的视图。

Android – 如何将视图拆分为4个相等的部分?

我想拍一个屏幕,将它分成不同颜色的四个方格,并为它们附加一个点击监听器。 我的问题是如何将屏幕分成4个相等的正方形。 提前致谢! DVIR

android:启用和服务

我目前正在学习如何在android上创建和使用服务。 我看了android SDK以获得进一步的帮助,我发现了android:enable = [true | 错误的] 。 在SDK中说: 和属性必须都是“true”(因为它们都是默认值)才能启用服务。 如果其中任何一个为“假”,则禁用该服务; 它无法实例化。 所以我想知道/为什么(一般情况下)的兴趣是什么? 将应用程序设置为“false”。 将服务启用设置为“false”。 我说如果我们把服务启用设为false就无法调用该服务,那么我们为什么要首先创建该服务呢? 谢谢你,抱歉这么长的消息。

如何从自定义ArrayAdapter调用main活动的function?

我看了很多类似的问题,但似乎无法发挥作用。 我有一个带有这样function的主类,编辑显示一个对话框,然后在按下按钮时编辑一个List。 public class EditPlayers extends SherlockFragmentActivity { listPlayerNames.setAdapter(new EditPlayerAdapter(ctx, R.layout.score_row_edit_player, listScoreEdit)); public void deletePlayer(final int position) { AlertDialog.Builder alertDialog = new AlertDialog.Builder( EditPlayers.this); // Setting Dialog Title alertDialog.setTitle(“Delete Player”); // Setting Dialog Message alertDialog.setMessage(“Are you sure?”); // Setting Delete Button alertDialog.setPositiveButton(“Delete”, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { listScoreEdit.remove(position); updateListView(); } […]

Android Wear上的SpeechRecognizer

我目前正在开发的应用程序需要对单个单词进行简单的语音识别。 但是,我不想使用: startActivityForResult()使用ACTION_RECOGNIZE_SPEECH 因为我需要在用户说话时显示其他内容。 所以我尝试了这个: speechRecognizer = SpeechRecognizer.createSpeechRecognizer(context); speechRecognizer.setRecognitionListener(this); Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE,”en”); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); speechRecognizer.startListening(intent); 这应该使我能够得到结果,但我总是得到: 没有选定的语音识别服务 此代码也返回false: boolean speechEnabled = SpeechRecognizer.isRecognitionAvailable(getApplicationContext()); 所以我认为只使用带有startListening到目前为止在Android Wear上不起作用…有关如何在不显示任何特定UI的情况下实现语音识别的任何建议? 编辑:我想这与谷歌语音搜索没有安装在设备上有关,但手动安装它不是真正的选择。