小编Bra*_*rad的帖子

Android:菜单项的自定义视图

我希望能够为MenuItem指定自定义视图.

我想在操作栏中的购物车菜单项上显示一个指示器,显示当前购物车中有多少商品.

我能做到这一点的唯一方法是添加自定义视图而不是使用MenuItem生命周期等?

android menuitem actionbarsherlock android-actionbar

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

创建具有可自定义前端的Android UI库

我有几个自定义UI元素将在几个项目中使用.每个项目将使用相同的UI元素,但具有不同的前端.

例如:按钮类型的背景图像将根据项目而不同.

如何以这种方式打包UI类和资源,以便项目可以使用它们,同时能够修改外观?

user-interface android

8
推荐指数
1
解决办法
1274
查看次数

如何创建一个四位数的密码Android布局

我想为具有数字小键盘的Android应用程序创建布局,并使用四位数来确定它是否与预设的密码值匹配.

我已经看到一些应用程序使用它,所以我认为它是一些描述的高级小部件.

我能找到的唯一能够远离我想要的东西的是:

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ems="10"
    android:inputType="numberPassword" >

    <requestFocus />
</EditText>
Run Code Online (Sandbox Code Playgroud)

但这并不是我想要的.

任何输入都会很棒,并提前感谢.

编辑:这是我想要的iOS保管箱应用程序启动屏幕的图像:

Dropbox iOS密码屏幕

java layout android

7
推荐指数
2
解决办法
9345
查看次数

Android:Spinner下拉列表中所选项目位于顶部位置

Android中的Spinner存在问题.从下拉列表中选择项目将在下次打开时调整该下拉列表的偏移量.因此,例如,如果我在500项下拉列表中选择项目100,则下次打开下拉列表时,项目100将位于列表的顶部.这是我想要的行为.

当我将选择器功能与调用结合起来时似乎存在问题setSelection(int).通过以下步骤,我似乎打破了下拉式微调器上的偏移系统.

  • 打开微调器并选择第二个项目.
  • 再次打开微调器,这次忽略它而不选择任何东西.
  • 调用setSelection(int)Spinner的值大于2.
  • 第三次打开微调器.请注意,偏移量与步骤1中的偏移量相同.

我已经看过Spinner和AdapterView中的代码,但我看不到任何我错过的公共电话.这是Spinner中的错误还是我的代码中的错误?

android spinner

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

在Java中寻找BufferedInputStream的最佳大小

我正在分析正在加载二进制文件的代码.加载时间约为15秒.

我的大部分加载时间来自加载二进制数据的方法.

我有以下代码来创建我的DataInputStream:

is = new DataInputStream(
     new GZIPInputStream(
     new FileInputStream("file.bin")));
Run Code Online (Sandbox Code Playgroud)

我把它改成了这个:

is = new DataInputStream(
     new BufferedInputStream(
     new GZIPInputStream(
     new FileInputStream("file.bin"))));
Run Code Online (Sandbox Code Playgroud)

所以在我做了这个小修改之后,加载代码从15秒变为4.

但后来我发现BufferedInputStream有两个构造函数.另一个构造函数允许您显式定义缓冲区大小.

我有两个问题:

  1. 在BufferedInputStream中选择了什么尺寸,它是理想的吗?如果没有,我怎样才能找到缓冲区的最佳大小?我应该写一些快速执行二进制搜索的代码吗?
  2. 这是我可以使用BufferedInputStream的最佳方式吗?我最初在GZIPInputStream中拥有它,但是有可以忽略不计的好处.我假设代码现在正在做的是每次需要填充文件缓冲区时,GZIP输入流经过并解码x个字节(其中x是缓冲区的大小).是否值得完全省略GZIPInputStream?它绝对不需要,但使用它时我的文件大小会大大减少.

java optimization bufferedinputstream

5
推荐指数
1
解决办法
4631
查看次数

确定Java中非接触式智能卡的功率要求.

我正在用Java编写一个应用程序,它将命令发送到智能卡并通过NFC接口解析响应.此应用程序可以在Android和PC上使用.

通过PC使用USB非接触式读卡器,我可以毫不费力地连接并与我扔的任何卡通信.

Android是另一回事.通过Nexus S使用应用程序会产生不太理想的结果,具体取决于卡.

有些卡将以100%的成功率连接和通信.我尝试使用的大多数卡片甚至很难建立连接,更不用说与之通信了.

Nexus S上的NFC服务正在尝试连接卡.它产生连续的低脉冲声,表明它无法建立牢固的连接(据我所知).

我目前的思维过程是Nexus S的NFC芯片功耗低于我正在使用的USB PC阅读器.从我读过的其他文章来看,似乎不同的卡具有不同的功率要求才能使用它们.

如何确定为卡供电所需的功率级别?它隐藏在ATR的某个地方吗?

如何确定特定NFC芯片的功率水平?这是在某处记录的吗?

java android nfc nexus-s

5
推荐指数
1
解决办法
846
查看次数

Git:相当于SVN的修复移动

我有时会用Java修改类名.这导致我也需要修改文件名.

为了维护SVN中文件的历史记录,我使用了一个名为Repair Move的TortoiseSVN工具.

在"检查修改"视图中,选择两个文件,一个丢失,一个未版本化.当您右键单击其中一个时,可以选择"修复移动".

这将删除SVN中的旧文件,并在附加旧文件的历史记录时添加新文件.这样,当你svn log时,你可以看到自文件名更改之前的整个历史记录.

git有一个等效的命令吗?从我读过的工作流程看来,我应该做以下事情:

git mv <old filename> <new filename>
# Make the class name changes to reflect the filename change. 
git commit -a -m "Changed filename from Foo.java to Bar.java"
Run Code Online (Sandbox Code Playgroud)

这似乎是一个很长的路要走.

git mv一旦我手动移动文件并对文件本身进行了更改,我想我可以使用.它似乎git mv只是mv命令的包装,并将更改添加到git.

移动发生后有没有办法通知git移动的文件?

git

5
推荐指数
1
解决办法
722
查看次数

基于java中的超类和子类的泛型类型的多个限制

我有一个实现特定接口的通用列表类.

界面中的列表项也实现了相同的界面.

public abstract class List<T extends SomeInterface> implements SomeInterface
{
    protected LinkedList<T> m_list;

    ...
}
Run Code Online (Sandbox Code Playgroud)

所以现在我想使这个列表的子类保持通用,但将项目限制为实现SearchListItem接口的对象:

public interface SearchListItem
{
    public String getName();
}
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止为SearchList类所拥有的:

public abstract class SearchList<T extends SearchListItem> extends List<T>
{
    public T get(String name)
    {
        ...
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

但当然这引起了对班级定义的抱怨:

Bound mismatch: The type T is not a valid substitute for the bounded parameter <T extends SomeInterface> of the type List<T>
Run Code Online (Sandbox Code Playgroud)

那么我需要在类声明中说"SearchList扩展List类并对包含SomeInterface(在基类中)和SearchListItem的泛型类类型有其他限制"?

请告诉我,如果我可以改写这个来帮助解释它.

java generics inheritance interface subclass

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

我可以在View子类中使用findViewById的最早时间是什么时候?

我有自定义View我写过,它将一系列按钮连接到预定义的方法.这些按钮是我正在创建的View的子项.

我的问题是,我可以用什么最早的方法来覆盖使用一系列findViewById的?我相信我不能在构造函数中使用它,因为任何调用findViewById都会返回null.

谢谢,

布拉德.

layout android

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

Android:如何以编程方式取消对SearchView的聚焦

我的布局中有一个SearchView(不在操作栏中),我无法使用常用方法关闭键盘:

public static void hideKeyboard(Activity activity) {
    InputMethodManager imm = (InputMethodManager)activity
            .getSystemService(Context.INPUT_METHOD_SERVICE);

    if (imm != null && activity != null) {
        View currentFocus = activity.getCurrentFocus();

        if (currentFocus != null) {
            imm.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

SearchView保持其焦点状态.在旧设备上使用此方法会显示键盘被解除然后重新显示.

我认为问题在于SearchView实际上是一个视图层次结构,它在内部维护自己的状态.

如何关闭键盘并取消焦点SearchView?

android actionbarsherlock

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