小编Pol*_*Bug的帖子

repo init和repo sync实际上做了什么?

我在Android Enthusiasts上发布了这个问题,但认为这是一个错误的地方,所以我从那里删除了它,并在这里"再次"询问它.


这是一个noob问题,请原谅我,但我只想清楚地理解基本概念.阅读repo帮助和Google的repo命令参考页面并没有太多启发.我从谷歌的参考页面了解了一些内容,但我仍需要更多的澄清.

按照如何下载android源码的说明,我在Ubuntu shell上执行了这两个命令:(我已经关注了环境的所有先决条件.)

~/android4.2.2$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1.2
~/android4.2.2$ repo sync -j4
Run Code Online (Sandbox Code Playgroud)

在等待半天的回购完成下载之后,我最终在android4.2.2目录中下载了19G的下载资料.那究竟发生了什么,以及为什么当谷歌说我只应该期待大约8G的源文件时它达到19G?

android repository android-source

24
推荐指数
1
解决办法
3万
查看次数

android EditText maxLength允许用户输入更多

我已经在xml布局文件中为EditText小部件设置了maxLength属性,它确实限制了字符的显示.

但它仍然允许用户按下键盘上的更多字母,并且退格会删除这些额外的按下而不是显示屏上的最后一个字母.

我相信这不是它应该如何.达到限制后按键应该停止接受更多输入,即使它没有显示.

有什么问题吗?

更新

根据以下答案,对于多行EditText,还要添加textMultiLine属性.

android:inputType="textFilter|textMultiLine"
Run Code Online (Sandbox Code Playgroud)

android android-widget

16
推荐指数
1
解决办法
2853
查看次数

如何在Android中的xml中为字符串资源指定空值?

在我的values.xml中,我有一些字符串资源.但有时,出于特定原因,我希望该字符串资源具有空值.

如何指定该字符串具有null值?

values.xml:

<string name="default_item_0">Some String</string>
<string name="default_item_1">@null</string>
Run Code Online (Sandbox Code Playgroud)

Java代码:

String item0 = context.getString(R.string.default_item_0);
String item1 = context.getString(R.string.default_item_1);
Run Code Online (Sandbox Code Playgroud)

预期:

String item0 = "Some String";
String item1 = null;
Run Code Online (Sandbox Code Playgroud)

实际:

String item0 = "Some String";
String item1 = "@0";
Run Code Online (Sandbox Code Playgroud)

我尝试了@null值,但它返回了一个字符串@0.

是否有可能null在xml中有一个值?

java xml android

12
推荐指数
1
解决办法
4914
查看次数

如何在Android Studio设置/配置中禁用XML参考值的预览?

我不确定我的问题的措词是否正确,但是显示图像来解释我的问题会更容易。

在XML编辑器中,某些值将替换为该条目定义的实际值。但是,我不希望Android Studio向我显示实际值。相反,我仍然希望它显示参考名称。那么,如何禁用编辑器以这种方式预览?

在下图中的,android:text="@string/sign_up"但编辑器将其显示为android:text="Sign up...",以及其他属性,并且仅当我将鼠标悬停在属性上时,引用名称才会显示。

如何通过Android Studio设置/配置永久禁用此功能?

更新:.java文件中发生了相同的事情。枚举或R.string常量被其实际值替换。

在此处输入图片说明

android android-resources android-studio

6
推荐指数
1
解决办法
1062
查看次数

Android:为什么在创建选项卡时会调用onTabSelected?

当操作栏有标签时,我注意到当活动在屏幕上加载时会调用onTabSelected.每当发生方向改变时也会调用它.我的代码根据所选的选项卡查询数据库,并将查询结果显示给加载的布局.

我的问题是在恢复状态下保存选项卡状态,当前选择的选项卡为1或更高,因为默认情况下在0选项卡上调用onTabSelected,当恢复状态选项卡为1或更高时,将再次调用它.这使得选项卡0上的数据库查询无效.

如何配置android在创建选项卡时不调用onTabSelected或至少检测到此调用是默认的而不是用户触发的?

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    int tabPos = tab.getPosition();
    switch(tabPos) {
    case 0:
        // query database and display result
        break;
    case 1:
        // a different query and display result
        break;
    case 2: ...
    }
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    if(savedInstanceState.containsKey(STATE_SELECTED_TAB)) {
        getActionBar().setSelectedNavigationItem(savedInstanceState.getInt(STATE_SELECTED_TAB));
    }
    super.onRestoreInstanceState(savedInstanceState);
}

@Override
public void onSaveInstanceState(Bundle outState) {
    outState.putInt(STATE_SELECTED_TAB, getActionBar().getSelectedNavigationIndex());
    super.onSaveInstanceState(outState);
}
Run Code Online (Sandbox Code Playgroud)

添加了复杂功能: 当前选中的选项卡为0且方向发生变化时,onTabSelected仍会被调用两次!一旦最初创建选项卡,第二次onRestoreState恢复保存的选项卡选择状态,即使它是0.

我最初的假设是onTabSelected被调用两次,但我错了.这是我的片段onCreateView被调用两次,片段事务中的一些错误在方向更改时添加了两次相同的片段.onTabSelected被调用一次,当恢复的选项卡也为0时,也会调用onTabReselected的恢复状态调用.


在搜索SO和谷歌之后,我发现这个问题有类似的问题原因. 创建ActionBar选项卡也调用其selectTab函数

tabs android android-activity

4
推荐指数
1
解决办法
5325
查看次数