小编Gro*_*ppe的帖子

防止DialogFragment在单击按钮时解除

我有一个带有自定义视图的DialogFragment,其中包含两个文本字段,用户可以在其中输入用户名和密码.单击肯定按钮时,我想验证用户在解除对话框之前确实输入了一些内容.

public class AuthenticationDialog extends DialogFragment {

    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = getActivity().getLayoutInflater();
        builder.setView(inflater.inflate(R.layout.authentication_dialog, null))
            .setPositiveButton(getResources().getString(R.string.login), new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // TODO
                }
            })
            .setNegativeButton(getResources().getString(R.string.reset), new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    // TODO
                }
            });

        return builder.create();
    }
}
Run Code Online (Sandbox Code Playgroud)

那么如何防止对话被解雇呢?我应该覆盖一些方法吗?

android dialog onclick android-dialogfragment

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

Android - 自定义样式中指定的边距未生效

我希望EditText的默认余量为10dp.因此,在我的styles.xml文件中,我设置了以下内容:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="MyTheme" parent="android:style/Theme.NoTitleBar">
        <item name="android:editTextStyle">@style/edit_text_default</item>
    </style>

    <style name="edit_text_default" parent="android:style/Widget.EditText">
        <item name="android:layout_margin">10dp</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

然后在AndroidManifest.xml中,我将应用程序主题设置为我定义的主题:

<application
     android:icon="@drawable/ic_launcher"
     android:label="@string/app_name"
     android:theme="@style/MyTheme" >
...
Run Code Online (Sandbox Code Playgroud)

该主题的"无标题栏"方面正在发挥作用.但是,EditText的默认边距不是,它仍然填充父级.这是我的表格视图:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF" >
    <TableRow>
        <EditText android:hint="@string/last_name" />
    </TableRow>
    <TableRow>
        <EditText android:hint="@string/first_name" />
    </TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

android themes styles

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

自定义列表项不响应选择器中的state_checked

我首先要说的是,我已经详细阅读了所有关于自定义可检查列表项和选择器的问题.他们中的许多人都有类似的问题,但没有一个答案可以解决我的问题.

在我的应用程序的某一点,我提出了一个自定义列表活动.创建时,它从调用它的intent中检索一组静态数据,并将该数据传递给它的自定义数组适配器.每个列表项都是一个简单的RelativeLayout,它实现了Checkable接口.默认情况下,如果单击其中一个项目,则会显示一个新活动,其中显示有关所选联系人的详细信息.但是,如果长按单击列表中的项目,则会启动ActionMode.此时单击列表中的项目不会显示详细信息活动,它只是将项目设置为选中.然后,如果用户选择动作模式项之一,则它对所检查的项执行动作.

需要了解的一点是,在两个选择"模式"中,单击列表项会将其设置为选中状态.

我上面描述的所有内容都非常有效.我唯一的问题是,即使使用默认选择器,列表项的背景在设置为选中时也不会突出显示.

我想要做的是,有两个选择器:每个选择模式一个.在第一种情况下,检查项目时背景不会改变,而在第二种情况下,背景不会改变.我尝试过实现自定义选择器,但即使在那些state_checked中也会被忽略!选择器的其他部分工作正常,但不是state_checked.

我对CheckableListItem的实现结合了很多不同的例子,所以如果我做错了,或者有更好的方法让我知道!

注意:有趣的一点是,如果我将results_list_item.xml中列表项的背景设置为我的选择器,而不是ListView的listSelector属性,则在选中项时更改背景.但是,这样做会导致我的选择器中的长按转换不起作用.

ResultsActivity.java:

public class ResultsActivity extends ListActivity implements OnItemLongClickListener {

    private ListView listView;          // Reference to the list belonging to this activity
    private ActionMode mActionMode;     // Reference to the action mode that can be started
    private boolean selectionMode;      // Detail mode or check mode

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_results);

        // When the home icon is pressed, go back
        ActionBar actionBar = getActionBar(); …
Run Code Online (Sandbox Code Playgroud)

android listview android-adapter

13
推荐指数
1
解决办法
3328
查看次数

如何在Javascript/Sencha中听键盘打开/关闭?

我有一个HTML5/Javascript(Sencha)应用程序,我已经在XCode中打包到PhoneGap for iOS中.无论如何,我希望能够听取键盘打开/关闭事件并做相应的事情.有没有办法做到这一点?

javascript keyboard-events ios sencha-touch

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

我可以在Settings.bundle中隐藏/禁用字段吗?

我在Settings.bundle的Root.plist中有几个Text Field项.我需要将它们全部用于我的应用程序,但我希望其中一个被用户隐藏或不可编辑.例如,当用户将iPhone移至设置 - > MyApp时,我希望其中一个字段在那里不可见,或者禁用以进行编辑.这可能吗?

settings xcode ios

12
推荐指数
2
解决办法
8725
查看次数

如何在iOS中正确组合标签栏视图和导航栏

在我的iOS应用程序中,我有一个带有三个视图的标签栏视图.我希望每个视图在顶部都有一个"导航"栏.我希望导航栏有一个左栏按钮项目,它在所有三个视图中具有相同的功能,然后是一个右键栏项目,对每个视图都是唯一的.我该怎么做呢?

uinavigationbar uitabbarcontroller ios

10
推荐指数
1
解决办法
4331
查看次数

如何响应Android中的HTTP身份验证挑战

在我的应用程序中,我通过HTTPS对Web服务进行HTTP调用.我的愿望是设计我的客户端,以便在有身份验证挑战时只询问用户的用户名和密码.我想要被动,而不是先发制人.由于我的应用程序的性质,在某些情况下,它不需要进行身份验证.

在iOS中,通过NSURLConnectionDelegateProtocol非常容易地完成此过程,该程序在我的应用程序的iOS版本中实现.使用此类建立连接,并且仅当提出质询时,类才会向其委托询问身份验证凭据.

如何在Android中完成?使用AuthenticationHandler?或者也许是认证者?如果是这样,可以提供示例或教程吗?

编辑1:

使用Authenticator类(请参阅下面的答案)我现在能够响应身份验证挑战,但目前只能使用硬编码凭据.我想提示用户输入用户名和密码.根据Android文档,在该getPasswordAuthentication方法中,您"通常会提示用户输入所需内容".

这怎么可能?在不阻塞UI线程的情况下,我知道不能/不应该这样做,如何在该方法中显示对话框,等待用户输入,然后检索输入的凭据并返回它们?

编辑2:

虽然使用Authenticator类很少或没有示例,但我能够找到的建议是,在单个方法中提示用户输入是不可能的,例如getPasswordAuthentication.可能必须恢复到Apache Http客户端......

最终编辑:

我仍在使用HttpURLConnection,但是按照爱德华在下面提出的建议行事.似乎没有任何可配置的类来处理身份验证挑战并提示用户输入,所以我手动执行此操作.

authentication https android http

7
推荐指数
1
解决办法
4612
查看次数

如何在Mac上设置反向代理?

我目前正在我的Mac上开发一个Sencha(Javascript)应用程序,它通过http请求与后端REST服务连接.该服务已经存在于其他地方(在另一个域上),我无法控制它.由于我在自己的Mac上开发应用程序,http请求当前是跨域的,因此除非我禁用浏览器安全性,否则它们不起作用.我的一位在PC上工作的朋友表示,他的解决方案是使用Apache建立一个反向代理,以某种方式使应用程序处于开发阶段(谁的域名为localhost)认为该服务的域名也是localhost.我不完全确定他的意思,也不知道如何在我的Mac上做到这一点.有什么建议?

javascript rest macos reverse-proxy extjs

6
推荐指数
2
解决办法
4718
查看次数

如何编写简单的SSH客户端?

我打算用C/C++为我的介绍网络类中的项目编写一个简单的SSH客户端.但是,我在找到如何做到这一点的良好文档方面遇到了麻烦.我不想要广泛的协议规范,只是一个简单的指南.有什么建议?

c c++ ssh

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

C中的密码(盐/哈希)库?

有没有人知道在C中加密和散列密码的库或框架?我将如何在一个程序中执行此操作?

c passwords hash

5
推荐指数
2
解决办法
5455
查看次数