编辑:我检查过该问题仅在手机设置为"法语"时出现.
我目前正在构建自己的应用程序,在手机上使用DatePicker小部件时遇到问题(调试模式手机:三星S5).
错误收集是:java.util.IllegalFormatConversionException
我添加了有关logcat中收集的问题的更多详细信息:
02-20 10:37:18.255 13029-13029/avappmobile.mytasks E/AndroidRuntime? FATAL EXCEPTION: main
Process: avappmobile.mytasks, PID: 13029
java.util.IllegalFormatConversionException: %d can't format java.lang.String arguments
at java.util.Formatter.badArgumentType(Formatter.java:1489)
at java.util.Formatter.transformFromInteger(Formatter.java:1689)
at java.util.Formatter.transform(Formatter.java:1461)
at java.util.Formatter.doFormat(Formatter.java:1081)
at java.util.Formatter.format(Formatter.java:1042)
at java.util.Formatter.format(Formatter.java:1011)
at java.lang.String.format(String.java:1803)
at android.content.res.Resources.getString(Resources.java:1453)
at android.content.Context.getString(Context.java:397)
at android.widget.SimpleMonthView$MonthViewTouchHelper.getItemDescription(SimpleMonthView.java:684)
at android.widget.SimpleMonthView$MonthViewTouchHelper.onPopulateNodeForVirtualView(SimpleMonthView.java:628)
at com.android.internal.widget.ExploreByTouchHelper.createNodeForChild(ExploreByTouchHelper.java:377)
at com.android.internal.widget.ExploreByTouchHelper.createNode(ExploreByTouchHelper.java:316)
at com.android.internal.widget.ExploreByTouchHelper.access$100(ExploreByTouchHelper.java:50)
at com.android.internal.widget.ExploreByTouchHelper$ExploreByTouchNodeProvider.createAccessibilityNodeInfo(ExploreByTouchHelper.java:711)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfVirtualNode(AccessibilityInteractionController.java:1179)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1091)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchDescendantsOfRealNode(AccessibilityInteractionController.java:1087)
at android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos(AccessibilityInteractionController.java:888)
at android.view.AccessibilityInteractionController.findAccessibilityNodeInfoByAccessibilityIdUiThread(AccessibilityInteractionController.java:155)
at android.view.AccessibilityInteractionController.access$400(AccessibilityInteractionController.java:53)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码将事件添加到日历:
public Intent calPopulation()
{
Intent calIntent = new Intent(Intent.ACTION_INSERT);
calIntent.setType("vnd.android.cursor.item/event");
calIntent.putExtra(CalendarContract.Events.TITLE, this._title);
GregorianCalendar calDate = new GregorianCalendar(this._year,this._month, this._day, this._hour, this._minute);
calIntent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, calDate.getTimeInMillis());
calIntent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, calDate.getTimeInMillis()+60*60*1000);
calIntent.putExtra(CalendarContract.Events.HAS_ALARM, true);
calIntent.putExtra(CalendarContract.Reminders.EVENT_ID, CalendarContract.Events._ID);
calIntent.putExtra(CalendarContract.Events.ALLOWED_REMINDERS, "METHOD_DEFAULT");
calIntent.putExtra(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT);
calIntent.putExtra(CalendarContract.Reminders.MINUTES,5);
return calIntent;
}
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令启动操作: startActivity(mTask.calPopulation());
我没有任何问题,日历应用程序事件使用我输入到我的应用程序中的正确信息启动,除了它没有填写我想要添加的提醒的事件.
你有线索吗?我尝试使用这种方法在很多线程中搜索(我的意思是intent.putExtra),但从未发现任何有趣的东西.
还有一点,有没有办法直接将事件+提醒保存到日历中而无需打开日历应用程序并请求用户操作?
提前致谢.亚历克斯.
我被困住了,因为我想切换到 React-navigation 的 V5 版本。\n在 v4 中,我曾经传递我的参数并将它们与以下命令一起使用:
\n\nthis.props.navigation.navigate(\'MyDestination\', {myParam: \'value\'})
this.props.navigation.getParam(\'myParam\')
在 v5 中,有些事情发生了变化,我现在无法使用它,this.props.navigation因为应用程序似乎不知道它。
我的代码被拆分,因此我的 App.js 仅引用导航类:
\n\nimport React from \'react\';\nimport { StyleSheet, Text, View } from \'react-native\'\nimport Navigation from \'./navigation/Navigation\'\n\nexport default function App() {\n return (\n <Navigation/>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: \'#fff\',\n alignItems: \'center\',\n justifyContent: \'center\',\n },\n});\nRun Code Online (Sandbox Code Playgroud)\n\n然后我的导航文件包含所有导航机制(我还没有添加我的 TabBar,因为我想首先修复基本导航):
\n\nimport { NavigationContainer } from \'@react-navigation/native\'\nimport …Run Code Online (Sandbox Code Playgroud) 每次到达特定屏幕(在我的情况下,主页)时,我都试图重置导航堆栈。
这是一段代码:
componentDidMount(){
const { navigation } = this.props
this.focusListener = navigation.addListener('focus', () => {
this._getData()
console.log('coucou')
navigation.dispatch(
CommonActions.reset({
index: 0,
routes: [
{ name: 'Home' },
],
})
);
});
this._updateNavigationParams()
}
componentWillUnmount() {
// Remove the event listener before removing the screen from the stack
this.focusListener.remove();
}
Run Code Online (Sandbox Code Playgroud)
如果我删除以下部分,我的代码可以正常运行没问题:
navigation.dispatch(
CommonActions.reset({
index: 0,
routes: [
{ name: 'Home' },
],
})
);
Run Code Online (Sandbox Code Playgroud)
我需要一个监听器,因为当我回到 HomeScreen 时我必须刷新数据,而且每次我回到这里时我也会用它来重置导航堆栈。
我得到的错误是:
类型错误:this.focusListener.remove 不是函数。(在 'this.focusListener.remove()' 中,'this.focusListener.remove' 未定义)。
我试图在我的片段活动中显示我的操作栏菜单问题是,如果我选择(在Android工作室中)材料主题,看到操作栏菜单没有问题,但是当我在自己的手机上测试我的应用程序时(三星S5),菜单未显示.
以下是我的活动的详细信息(我只展示了它的一个子部分,有什么必要):
package avappmobile.mytasks;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Calendar;
import java.util.Locale;
/**
* Created by Alexandre on 18/02/2015.
*/
public class AddTask extends FragmentActivity implements DatePFragment.OnDatePickedListener, TimePFragment.OnTimePickedListener {
// Variables to be used
private EditText txtTaskName;
private EditText txtTaskDate;
private EditText txtTaskTime;
private String taskName;
private int taskyear;
private int taskmonth;
private int …Run Code Online (Sandbox Code Playgroud) android ×3
calendar ×1
class ×1
crash ×1
datepicker ×1
device ×1
events ×1
expo ×1
header ×1
navigation ×1
react-native ×1
reminders ×1
routes ×1