小编Luc*_*uca的帖子

错误的requestCode从另一个Activity返回onActivityResult

我有一个Activity调用另一个Activity,调用其他一些Activities.我发送到最后Activity得到一个结果,然后我把结果发回拳头Activity.

流程是这样的

A -> B -> C -> D -> C -> B -> A
Run Code Online (Sandbox Code Playgroud)

从流动ADstartActivityForResult和从流动DAonActivityResult.

DBrequestCode始终是相同的(一个我决定),而是来自BA它突然从我的值更改为随机值(在这种特殊情况下196614).

这是我用来调用activity Bfrom 的代码activity A:

filterByCatalogue.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(getActivity(), CatalogueContainerActivity.class);
            startActivityForResult(intent, Defines.FILTER_BY_CATALOGUE);
        }
    });
Run Code Online (Sandbox Code Playgroud)

(以filterByCataloguea为FrameLayout …

android start-activity onactivityresult

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

在KitKat上使用Android L Material Design

阅读Android L开发人员预览版的兼容性部分(http://developer.android.com/preview/material/compatibility.html)我看到我可以使用L-sdk创建一个APP,并且还能够运行它较旧的sdk(如KitKat).

我已经使用Android L sdk创建了一个新项目并配置了"build.gradle",如本文所述:Android Studio:失败[INSTALL_FAILED_OLDER_SDK].

我尝试了两种配置:

  • 提出的问题给了我这个错误:

    pkg: /data/local/tmp/com.example.{my user name}.materialapp Failure [INSTALL_FAILED_OLDER_SDK]

  • 而在答案中提出的那个给我错误

    <style name="AppTheme" parent="android:Theme.Material.Light"></style>

我在StackOverflow上搜索了其他问题,但我找不到任何解决方案.

解决方案:Android L 预览素材样式只能在运行Android L的设备上使用."兼容性"仅是预览,并且未启用.

android gradle android-studio android-5.0-lollipop

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

以编程方式更改ActionBar图标

我将从片段返回到我的主要活动,并且为了某些逻辑,我必须更改操作栏菜单上的图标的外观.

这是操作栏上的菜单:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="it.gn.sfa.Main">


    <item
        android:id="@+id/action_search"
        android:actionViewClass="android.widget.SearchView"
        android:icon="@drawable/ic_action_search"
        android:showAsAction="collapseActionView|ifRoom"
        android:title="Search" />
    <item
        android:id="@+id/action_filter"
        android:icon="@drawable/ic_action_filter_empty"
        android:showAsAction="ifRoom"
        android:title="Filter" />
    <item
        android:id="@+id/action_new"
        android:icon="@drawable/ic_action_new"
        android:showAsAction="ifRoom"
        android:title="New" />

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

我必须更改sencond项(id = action_filter).我尝试了不同的解决方案,在不同的帖子中找到.评分最高的是

mOptionsMenu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_action_filter));
Run Code Online (Sandbox Code Playgroud)

但似乎不起作用.

在另一边getActionBar().setIcon(getResources().getDrawable(R.drawable.ic_action_filter));改变徽标,我不想这样.

如何才能更改菜单​​上的第二项?

android android-menu android-actionbar

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

Android打开XLSX文件

我正在尝试XLSX在我的Android应用中打开一个文件.

我知道Intent我必须触发的类型是application/excel,但是尽管我安装了Google Sheets,但是我的代码说没有应用程序可以打开我的excel文件.

这是我用来解雇的代码Intent:

private void openXLS(){
        File xls = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "prova.xlsx");
        Uri path = Uri.fromFile(xls);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(path, "application/excel");
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        try {
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            Toast.makeText(context, "No Application available to view XLS", Toast.LENGTH_SHORT).show();
        }
    }
Run Code Online (Sandbox Code Playgroud)

注意: prova.xlsx存在,我能够到达并打开它.

excel android android-intent

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