小编Fav*_*las的帖子

Python ASCII到二进制

是否有内置函数将ASCII转换为二进制?

例如.将'P'转换为01010000.

我正在使用Python 2.6.6

python binary ascii

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

Android oncreateview调用了两次

我已经在这里问过这个问题不止一次,但我无法弄明白如何解决我的问题.

我有一个用户执行此操作的应用:

1 - 打开navigationDrawer并选择一个选项(创建一个片段)(我在这里选择第二个选项);

public void selectItem(int position) {
        Fragment fragment = null;
        switch (position) {
            case FRAGMENT_OPTION1:
                ...
                break;
            case FRAGMENT_OPTION2:
                fragment = ControlPanelFragment.newInstance();
                break;
            ...
            case FRAGMENT_OPTIONN:
                ...
                return;
            default:
                break;
        }
        if (fragment != null) {
            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction().replace(R.id.fragment_container, fragment).commitAllowingStateLoss();
        }
}
Run Code Online (Sandbox Code Playgroud)

2 - 加载所选选项(ControlPanelFragment):2.1 - 控制面板包含选项卡和iconpager.对于每个寻呼机页面和每个选项卡,都会创建一个新的片段.我有3个标签和3个页面,因此创建了9个片段;

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    if (savedInstanceState != null) {
        currentControlPanelOption = savedInstanceState.getInt("currentControlPanelOption", currentControlPanelOption);
        currentControlPanelTab = savedInstanceState.getInt("currentControlPanelTab", currentControlPanelTab);
    }
    setControlPanelTabs();
    setIconPager(); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

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

在 Android Q 10 上检测 SIM 卡更改

关于如何检测用户是否更改为 SIM 卡的问题/答案有很多,但其中许多问题/答案依赖于获取 SIM 卡 imsi ( TelephonyManager.getSubscriberId()) 并且由于此信息不再可用 ( https://developer.android. com/about/versions/10/privacy/changes#non-resettable-device-ids),在 Android Q/10 上,我们如何检测更改的用户是 SIM 卡?

android

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

在构造函数中初始化日历

如果我这样做:

new Estimacao("Aarão","Affenpinscher","Abóbora",new GregorianCalendar(1999,7,26),0),
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作.但如果我这样做:

new Estimacao("Aarão","Affenpinscher","Abóbora",new Calendar(1999,7,26),0),
Run Code Online (Sandbox Code Playgroud)

可以办到.我所知道的.我们必须像这样初始化日历:

Calendar date = Calendar.getInstance();
date.set(Calendar.YEAR, 1999);
date.set(Calendar.MONTH, 7);
date.set(Calendar.DAY_OF_MONTH, 26);
Run Code Online (Sandbox Code Playgroud)

我想知道的是,如上所述创建和初始化对象时是否可以使用Calendar并实现相同的功能.GregorianCalendarnew Estimacao

java constructor calendar initialization

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

屏幕旋转后多次调用Android微调器onItemSelected

我有三个微调器的布局.它们在下拉列表中显示的选项不同.
在我的onCreateView我不得不安装微调的方法.在这个方法里面我有这样的东西:

  mySpinner = (Spinner) view.findViewById(R.id.my_spinner);
  ArrayAdapter<String> mySpinner =
            new ArrayAdapter<String>(getActivity(), R.layout.background,
                    new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.spinner_one_data))));
  mySpinner.setDropDownViewResource(R.layout.spinner_text);
  mySpinner.setAdapter(mySpinner);
  mySpinner.setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)

正如我所说,我的另外两个旋转器几乎相同,但有不同的选择.

我知道onItemSelected在"第一次设置"中为每个微调器调用一次,所以我有一个标志来防止这个问题.有了这个标志解决方案,我的微调器正在按预期工作.

问题是当我在每个微调器中选择一个选项然后旋转屏幕.现在,onItemSelected被称为6次而不是我期待的3次(我设置了一个标志来管理3次呼叫的这种情况).

它为什么会发生,我应该怎么处理?

android android-spinner

8
推荐指数
2
解决办法
5594
查看次数

ADB 命令切换不会保留活动开发人员选项设置,但它没有实际效果

正如标题所说,如果我发出以下命令

adb shell settings put global always_finish_activities 1
Run Code Online (Sandbox Code Playgroud)

如果我转到开发人员选项,我可以看到切换开关从 OFF 变为 ON。此外,adb shell settings get global always_finish_activities输出1

问题是,虽然设置已经打开,但实际上,不要保持活动并没有按照预期进行。

我只运行启动器和 Chrome,在我发出 ADB 命令后,这是我拥有的堆栈

在此处输入图片说明

另一方面,如果我进行相同的测试并手动转到开发人员选项设置并手动切换设置,这就是堆栈

在此处输入图片说明

知道如何绕过这个吗?

android adb

8
推荐指数
0
解决办法
412
查看次数

C在一个新行中逐个写入数字,在扩展名中

我是C的新手,我不能为学校做一个简单的练习.

我想做这样的事情:

 Please insert a number: 12345
 five
 four
 three
 two
 one
Run Code Online (Sandbox Code Playgroud)

基本上,用户输入一个数字,并且程序在新行中写入从最后一个有效数字到最多的数字.

这与切换功能和基本编程技能有关.

我有这个:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num; printf("Please insert a number: "); scanf("%d", &num);
    switch(num){
    case 1:printf("One\n");break;
    case 2:printf("Two\n");break;
    case 3:printf("Three\n");break;
    case 4:printf("Four\n");break;
    case 5:printf("Five\n");break;
    case 6:printf("Six\n");break;
    case 7:printf("Seven\n");break;
    case 8:printf("Eight\n");break;
    case 9:printf("Nine\n");break;
    case 0:printf("Zero\n");break;
    }
} 
Run Code Online (Sandbox Code Playgroud)

我使用0到9之间的数字它可以正常工作,但是数字更大,然后它什么都不做.

我无法解决的第一个问题是,在数字中,获得数字位置.我相信在我的代码中,休息并没有做任何事......

对不起,如果我不能更好地解释我,但英语不是我的母语.

问候,

Favolas

############################## In Progress Solution(如果数字%10给出0- ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num; printf("Please insert a number: "); scanf("%d", &num); …
Run Code Online (Sandbox Code Playgroud)

c

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

Android ViewPager,屏幕旋转后标签不保持状态

我执行与标签类似,由谷歌提供的实施ViewPager 这里.

我的应用有以下行为.我的ViewPager有3个"页面"(fragA,fragB,fragC),我在ViewPager上面实现了3个标签.谷歌的实现和我的实现之间的区别在于标签不用于在片段之间导航.例如,按下我的一个选项卡,在可见片段上加载一组不同的数据.我可以选择tab3选择fragA,选择tab2选择fragB,选择tab1选择fragC.

问题是当我旋转屏幕时.如果我FragmentA选择了第三个选项卡,当我旋转屏幕时,我会保持相同的片段,但现在,第一个选项卡被选中.我希望在旋转屏幕时保持选择相同的选项卡.

这是我管理标签的类:

public class ManagerTabs extends Fragment {

    private TabHost.TabContentFactory mFactory = new TabHost.TabContentFactory() {

        @Override
        public View createTabContent(String tag) {
            View v = new View(getActivity());
            v.setMinimumWidth(0);
            v.setMinimumHeight(0);
            return v;
        }
    };

    public static ManagerTabs newManager() {
        return new ManagerTabs();
    }


    @Override
    public View onCreateView(LayoutInflater inflater,  ViewGroup container,
     Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.datatabs, container, false);
        createTabs();
        createPager();
        return view;
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        if (savedInstanceState != …
Run Code Online (Sandbox Code Playgroud)

tabs android android-fragments android-viewpager

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

OkHttp启用/禁用请求的gzip压缩

我正在使用Retrofit管理我的请求,并希望使用或不使用gzip进行一些测试来检查请求大小.

默认情况下会对OkHttp请求执行gzip压缩,还是必须使用拦截器实现?

我已经添加

@Headers({
        "Accept-Encoding: gzip, deflate",
        "Content-Encoding: gzip"
})
Run Code Online (Sandbox Code Playgroud)

要么:

@Headers({
        "Content-Type: application/json;charset=utf-8",
        "Accept: application/json"
})
Run Code Online (Sandbox Code Playgroud)

对我的要求,并没有看到请求长度的任何变化.

java android retrofit okhttp retrofit2

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

BottomSheetDialogFragment 从后台返回时禁用动画

有一个扩展的类BottomSheetDialogFragment

当我将对话框设置为显示时,会发生从底部滑动的动画并显示对话框。现在,如果我将应用程序设置为后台,然后将其带回到前台,则已经显示的对话框会以动画方式进行相同的幻灯片。

如何禁用此功能,也就是说,如果对话框已经显示,则将应用程序发送到后台,然后前台不会启动动画?

显示这样的对话框:

dialog = MyDialogFragment()
dialog?.run {
    val args = Bundle()
    ....
    arguments = args
    show(this@MyFragment.fragmentManager, tag)
}
Run Code Online (Sandbox Code Playgroud)

其中对话框类只有这个:

class MyDialogFragment : BottomSheetDialogFragment() {

    var listener: Listener? = null

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        // inflate view
        // Given the arguments, sets up the ui

        return view
    }

    interface Listener {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我为该对话框编写的所有代码。

android bottom-sheet

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