小编Cod*_*ate的帖子

使用android-support-v4替代PreferenceFragment

我突然停止了我的应用程序的开发,因为我意识到这个库中不支持PreferenceFragments.新手Android开发人员可以使用任何替代方案来克服这个障碍吗?

这是我现在的主要窗口

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0"/>

        <FrameLayout
            android:id="@+android:id/realtabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    </LinearLayout>

                <TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            />

</TabHost>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

对于我的TabActivity,我使用的是我在网上找到的东西.这是一个片段:

public class TabControlActivity extends FragmentActivity implements TabHost.OnTabChangeListener 
{
public static final int INSERT_ID = Menu.FIRST;
public static TabControlActivity thisCtx;
private TabHost mTabHost;
private HashMap mapTabInfo = new HashMap();
private TabInfo mLastTab = null;

private class TabInfo {
     private String …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

90
推荐指数
6
解决办法
5万
查看次数

如果嵌套的ng-repeat不为空,我该如何只显示一个元素?

我有一个列表列表,使用嵌套的ng-repeat创建.每个外部ng-repeat包含一个带有内部列表标签的div(例如:"A组").我现在正试图创建一种方法来避免显示此标签,如果内部列表由于过滤而为空(由输入搜索文本应用)

这是一个解释我的问题和我尝试的解决方案的plunker:Plnkr

拥有像isGroupEmpty这样的'重'功能似乎非常麻烦 - 有没有办法以更简单的方式做到这一点?我正在玩弄内部ng-repeat内部标签的想法,ng-show="$first"但它看起来并不好看

angularjs angularjs-ng-repeat

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

如何从TabWidget中删除选定的选项卡指示器?

这是我要删除的内容:

在此输入图像描述

如何更换显示当前显示哪个选项卡的指示符以及跨越整个tabwidget的蓝线?

要指定:我想要指示选择哪个选项卡是:

  • 如果选项卡是SELECTED,tab_button_active.9.png应显示为背景
  • 如果选项卡未选中,tab_button_inactive.9.png应显示为背景.

编辑:将tabStripEnabled设置为false无效.添加样式并将"@android:style/Widget.Holo.ActionBar"作为其父级也是不可能的,因为我的目标API级别7和ActionBar是在API级别11中实现的.

android

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

覆盖来自SherlockFragmentActivity的onOptionsItemSelected

昨天,我发现了一个很棒的图书馆,它允许我在操作栏的左上角有一个带有按钮的"facebook菜单",当按下时,它会从左侧的菜单中滑动.

问题是我希望也使用ActionBarSherlock库来确保我的应用程序向后兼容操作栏.在使用库I时,除其他外,需要覆盖onOptionsItemSelected:

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    int id = item.getItemId();

    if (id == android.R.id.home) {

        rbmView.toggleMenu();

        return true;

    } else {
        return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我进入了库,发现开发人员已经在onOptionsItemSelected final了.我删除它并尝试再次覆盖它只是发现产品是那个,每当我按下按钮没有任何反应.什么都没有.

关于如何使用darvds_ribbonmenu库以及actionbarsherlock的任何想法?

android actionbarsherlock

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

如何获取给定项目的ViewPager的子视图

我会尽可能简短而简单地回答这个问题.

View activeView = mViewPager.getChildAt(mViewPager.getCurrentItem());
Run Code Online (Sandbox Code Playgroud)

当前项为0和1时返回子视图.但如果当前项为2则返回null.这是为什么?

编辑:让我重温一下自己.如何在任何给定项目位置获取ViewPager的子视图?

android android-viewpager

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

如何从AsyncTasks doInBackground()中检索数据?

我会保持这个尽可能简单.

我的控制层中有一个方法,它使用一个CallServiceTask扩展的类AsyncTask.调用new时CallServiceTask().execute(parameters)
如何检索返回的数据doInBackground?我发现的所有教程都使用AsyncTask直接从它们扩展的类Activity.
我的问题比这复杂一点.
我想要的只是将Object[]返回的doInBackground并将其设置为我RestClient班级的私有数据成员.

CallServiceTask 看起来像这样:

    private class CallServiceTask extends AsyncTask<Object, Void, Object[]>
{

    protected Object[] doInBackground(Object... params) 
    {
        HttpUriRequest req = (HttpUriRequest) params[0];
        String url = (String) params[1];

        return executeRequest(req, url);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的RestClient类看起来像这样:

public class RestClient
{

private ArrayList <NameValuePair> params;
private ArrayList <NameValuePair> headers;

private JSONObject jsonData;

private Object[] rtnData;

private String url;

private boolean connError;

public int getResponseCode() …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

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

为什么即使在$ destroy被触发后范围也没有被破坏?

我做了一个指令,当单击它时,会创建一个使用jQuery附加到正文的对话框.问题是当关闭对话框时,范围永远不会被正确清理.如下图所示167 ChildScopes被保留.这与对话框中包含ng-repeat指令的项目数量相匹配.

在此输入图像描述

我试图在Plnkr上创建一个非常简单的场景版本.令我惊讶的是,实际上,在Plnkr的每个关闭处都移除了范围.因此,即使在$destroy被调用之后,生产中的某些东西也会导致范围保持活跃.

link: ($scope, $element, $attr) ->
  $element.on 'click', () ->
      $scope.$apply () ->
        child = $scope.$new()
        template = """<span ng-controller="ListCtrl">...List dialog things...</span>"""
        compiledTemplate = $compile(template)(child)
        container = containers.createDialogContainer($element)
        container.append(compiledTemplate)

        #cleanup
        $scope.closeWidget = () ->
          container.trigger("container_close")
          return

        container.on "container_close", ()->
          child.$apply () ->
            child.$destroy()
          return
Run Code Online (Sandbox Code Playgroud)

所以这是我的问题:

甚至在$ destroy被调用,触发和执行垃圾收集之后,什么可以导致范围保持活跃?

出于显而易见的原因,我无法向您展示我们的生产代码 但是,Plnkr中的指令与我的调试充分匹配.

javascript jquery angularjs

15
推荐指数
1
解决办法
3839
查看次数

如何从此json对象中提取字符串数组?

我试图从以下json对象获取可用数字列表,使用类来自 org.json

    {
        "response":true,
        "state":1,
        "data":
        {
            "CALLERID":"81101099",
            "numbers":
                [
                       "21344111","21772917",
                       "28511113","29274472",
                       "29843999","29845591",
                       "30870001","30870089",
                       "30870090","30870091"
                ]
        }
    }
Run Code Online (Sandbox Code Playgroud)

在从Web服务接收到json对象后,我的第一步是:

jsonObj = new JSONObject(response);
jsonData = jsonObj.optJSONObject("data");
Run Code Online (Sandbox Code Playgroud)

现在,如何保存数字的字符串数组?

android json

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

如何使用EditTextPreference和Togglebutton创建一个Preference?

我正在尝试实现的是下面图像的基本和精确的复制品(我已经平方的偏好).按下首选项左侧的任何内容都应该打开一个对话框.按下togglebutton将禁用/启用我在此首选项中设置的任何内容.

我一直在努力工作几个小时,而且我空手而归.如何在PreferenceActivity中实现此功能?

偏爱

编辑:似乎人们误解了我的问题.我弄清楚如何使用PreferenceActivity解决我的问题非常重要.不是活动.我不在乎我是需要用XML还是以编程方式来做.请不要向我提供我不能在类似内容中使用的答案.

编辑2:增加了赏金 - 我真的需要一个答案

android preferences preferenceactivity togglebutton

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

如何在Activity之外使用sharedPreferences?

我已经坚持这个非常简单的问题几个小时了,我一直无法通过谷歌找到任何合适的解决方案.

我试图在我的应用程序的模型层中使用SharedPreferences类.具体来说,我希望能够在应用程序启动时保存或获取用户名和相应的令牌(如果用户将应用程序设置为自动登录).

有没有办法让我使用SharedPreferences来解决这个问题,还是我被迫使用FileInput/Output?

android mvvm

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