我有一个Activity调用另一个Activity,调用其他一些Activities.我发送到最后Activity得到一个结果,然后我把结果发回拳头Activity.
流程是这样的
A -> B -> C -> D -> C -> B -> A
Run Code Online (Sandbox Code Playgroud)
从流动A到D由startActivityForResult和从流动D到A由onActivityResult.
从D到B的requestCode始终是相同的(一个我决定),而是来自B于A它突然从我的值更改为随机值(在这种特殊情况下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 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的设备上使用."兼容性"仅是预览,并且未启用.
我将从片段返回到我的主要活动,并且为了某些逻辑,我必须更改操作栏菜单上的图标的外观.
这是操作栏上的菜单:
<?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));改变徽标,我不想这样.
如何才能更改菜单上的第二项?
我正在尝试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存在,我能够到达并打开它.