我一直试图找到一些从操作栏中删除图标/徽标的方法,但我在搜索SO,Android的文档和Google之后发现的唯一一件事就是如何删除整个标题栏.那不是我想要的.只想从标题栏中删除图标/徽标.
谁知道怎么做到这一点?我想在XML中这样做.
我想从一个java.net.URI对象中获取一个对象String.该字符串有一些字符需要用它们的百分比转义序列替换.但是当我使用URLEncoder对UTF-8编码的字符串进行编码时,即使/被替换为它们的转义序列.
如何从String对象获取有效的编码URL?
http://www.google.com?q=a b给出 http%3A%2F%2www.google.com ...而我希望输出为 http://www.google.com?q=a% 20B
有人可以告诉我如何实现这一目标.
我试图在Android应用程序中执行此操作.所以我可以访问有限数量的库.
我经历了这些话题
但是,我似乎仍然丢失了super关键字:
当我们声明一个这样的集合时:
List<? super Number> list = null;
list.add(new Integer(0));//this compiles
list.add(new Object());//this doesn't compile
Run Code Online (Sandbox Code Playgroud)
不应该是相反的 - 我们有一个列表,其中包含一些父母的对象(未知类型)Number.所以Object应该适合(因为它是父的Number),Integer不应该.出于某种原因,情况正好相反.
只要我们有以下代码
static void test(List<? super Number> param) {
param.add(new Integer(2));
}
public static void main(String[] args) {
ArrayList<String> sList = new ArrayList<String>();
test(sList); //will never compile, however...
}
Run Code Online (Sandbox Code Playgroud)
编译上面的代码是不可能的(我的理智表明这是正确的行为),但基本逻辑可能证明相反:
String is Object, Object is superclass of Number. So String should work.
我知道这很疯狂,但这不是他们不允许<S super T>构造的原因吗?如果是,那么为什么<? super T> …
我有编写的ant脚本:
<javac srcdir="${test.src.dir}" destdir="${test.dist.dir}">
...
<compilerarg value="-Xlint:unchecked" />
</javac>
Run Code Online (Sandbox Code Playgroud)
我需要增加编译器的堆内存,所以我将以下参数放入compileargs:
<compilerarg value="-Xlint:unchecked -Xms128m -Xmx512m" />
Run Code Online (Sandbox Code Playgroud)
但我在控制台中收到错误:
[javac] javac: invalid flag: -Xms128m
[javac] Usage: javac <options> <source files>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?如何增加使用的内存javac?
我已将我的应用程序切换到目标API 27,现在它无法获得WRITE_EXTERNAL_STORAGE权限 - grantResult始终是-1.
我的应用程序需要此权限,因为它不使用应用程序私有外部存储空间(不需要 WRITE_EXTERNAL_STORAGE从API 19开始).
我知道在API 26中有权限的行为更改.然而,这并不能解释我的问题.
我以标准方式请求两者READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限:
ActivityCompat.requestPermissions(activity, new String[] {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, requestCode);
Run Code Online (Sandbox Code Playgroud)
(两个权限都通过<uses-permission清单声明).
出现对话框,然后单击"允许":
但是在onRequestPermissionsResult回调中我得到(并且被授予)-1(拒绝).WRITE_EXTERNAL_STORAGE0READ_EXTERNAL_STORAGE
0因为我已经要求并且可能两者都同意,结果不应该是两者兼而有之吗?
我试图WRITE_EXTERNAL_STORAGE单独请求,但在这种情况下,对话框根本不会出现.
还有一个细节:我刚检查了合并的清单build/intermediates/manifests/full/debug,发现WRITE_EXTERNAL_STORAGE权限有属性android:maxSdkVersion="18"(我的清单中没有这样的属性).这可能会发生,因为我的应用程序有minApiVersion=21,但我不确定.
我是Android的新手,我正在使用Robotium编写一些基本的Android测试,但这个例外失败了
"android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
Run Code Online (Sandbox Code Playgroud)
以下是基本的测试用例解释: -
测试用例:-
public void testSearch() {
Activity a = getActivity();
SearchItemActivity search = new SearchItemActivity(solo);
search.searchText("ipod", a);
}
SearchItemActivity.searchText(String) is defined as
public void searchText(final String search, Activity act) {
Button v = (Button) act
.findViewById(com.test.mobile.R.id.text_search_field);
((Button) v).setText("");
((Button) v).setText(search);
solo.sendKey(Solo.ENTER);
solo.waitForActivity("FoundItemdDetailActivity");
solo.assertCurrentActivity("Expected FoundItemDetail activity","FoundItemdDetailActivity");
}
Run Code Online (Sandbox Code Playgroud)
任何有关如何修改我的代码的建议都将受到赞赏
我跑了./gradlew connectedAndroidTest,我需要我的测试APK有一个权限,不应该在任何非测试APK(调试,发布).我已经创建了一个允许的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mypackage">
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE"/>
</manifest>
Run Code Online (Sandbox Code Playgroud)
然后我将此清单复制到src/androidTest目录,因为gradle android插件的发布说明提示:
0.13.0(2014/09/18)需要Gradle 2.1现在可以为测试应用程序提供清单(src/androidTest/AndroidManifest.xml)
但是,在我的连接测试期间不会应用权限.
如果我创建一个src/debug目录并在那里移动该清单 - 在连接测试期间正确应用权限(但在常规调试版本中也是如此,这是不可取的).
我做错了什么或有错误吗?
我正在谷歌搜索没有成功,弄清楚如何System.out.println/System.out.print在控制台中制作ANT打印消息.消息根本不会出现.我还没有找到任何简单的方法.有没有?
谢谢
是否可以在xml中设置工具栏徽标?到目前为止我试过这个:
1.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
...
android:logo="@drawable/my_logo"
/>
Run Code Online (Sandbox Code Playgroud)
2.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
...
app:logo="@drawable/my_logo"
/>
Run Code Online (Sandbox Code Playgroud)
编辑
我在AppCompatActivity中使用工具栏作为操作栏:
setSupportActionBar(findViewById(R.id.toolbar));
Run Code Online (Sandbox Code Playgroud)
我可以从代码中设置徽标:
((Toolbar) findViewById(R.id.toolbar)).setLogo(R.drawable.my_logo);
Run Code Online (Sandbox Code Playgroud)
但我想从布局XML或Style/Theme XML设置徽标.
我有一个错误,说无法解析@id/search_edit_frame我不知道为什么,我尝试了文件>无效缓存>只需重新启动并重新启动 android工作室也试图更改渲染版本所有我支持的api ..
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
myapp="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.SearchView
android:id="@+id/svSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textColor="@color/textDefault"
myapp="@string/search_hint"
myapp="false" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我正在使用Android Studio 1.2.2并确定它编译android.support.v7.widget(AppCompat)
任何帮助将不胜感激..谢谢