public AddDiaryController(@NonNull AddDiaryFragment addDiaryFragment) { diaryHelper = DiaryHelper.getInstance(YyApplication.get()); mView = addDiaryFragment; mView.setHasOptionsMenu(true); } public void addDiaryToRepository(String title, String desc,String time, String emo) { if (title.isEmpty() || desc.isEmpty()) { showMessage(YyApplication.get().getString(R.string.add_failed)); return; } diaryHelper.insert(title, desc,time,emo); showMessage(YyApplication.get().getString(R.string.add_success)); } private void showMessage(String message) { Toast.makeText(mView.getContext(), message, Toast.LENGTH_SHORT).show(); } public void closeWriteDiary(FragmentManager fragmentManager, Fragment fragment) { ActivityUtils.removeFragmentTOActivity(fragmentManager, fragment); ActivityUtils.addFragmentToActivity(fragmentManager, new DiariesFragment(), R.id.content); } public void setNavigationVisibility() { View navigation_bottom = mView.getActivity().findViewById(R.id.navigation_bottom); if (navigation_bottom.getVisibility() != View.VISIBLE) { navigation_bottom.setVisibility(View.VISIBLE); } } public void changeFocus(View view) { view.setFocusable(true); view.setFocusableInTouchMode(true); if (!view.requestFocus()) { Log.e(TAG, "changeFocus: Error!"); return; } if (view instanceof EditText) { InputMethodManager imm = (InputMethodManager) YyApplication.get().getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view, 0); } }
时间: 2023-12-31 17:07:00 浏览: 28
这是一个用于添加日记的控制器,它包含了以下几个方法:
1. 构造函数:接受一个 AddDiaryFragment 参数,并初始化 DiaryHelper 和 mView。
2. addDiaryToRepository():将传入的日记标题、描述、时间和情绪插入到 DiaryHelper 中,并显示添加成功或添加失败的提示信息。
3. showMessage():显示 Toast 消息。
4. closeWriteDiary():将当前 Fragment 从 FragmentManager 中移除,并添加 DiariesFragment。
5. setNavigationVisibility():设置底部导航栏可见性。
6. changeFocus():设置 View 的聚焦状态,并弹出软键盘(如果 View 是 EditText)。
相关问题
在代码List<@NonNull String> list = new @NonNull ArrayList<>(); @NonNull String value = list.get(0);中,Element.TYPE_USE提现在哪里
在上述代码中,ElementType.TYPE_USE 可以应用于两个位置:
1. 在 List 的泛型类型使用场景中,我们可以使用 ElementType.TYPE_USE 注解来为泛型类型添加额外的语义信息。在这个例子中,`List<@NonNull String>` 中的 `@NonNull` 就是一个 ElementType.TYPE_USE 注解。
2. 在 ArrayList 的实例化表达式中,我们可以使用 ElementType.TYPE_USE 注解来为对象的创建和初始化过程添加额外的语义信息。在这个例子中,`new @NonNull ArrayList<>()` 中的 `@NonNull` 就是一个 ElementType.TYPE_USE 注解。
这样,通过在类型使用场景中使用 ElementType.TYPE_USE 注解,我们可以提供更多的类型信息,从而帮助编译器进行更严格的类型检查和静态分析。
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException { Log.i("TAG","请求成功"); String res=response.body().string(); Log.i("TAG",res); Gson gson=new Gson(); Root root= gson.fromJson(res,Root.class); Result result= root.getResult();
这是一个 OkHttp 的请求回调方法,当请求成功时会被调用。在这个方法中,首先通过 Log 输出了一条请求成功的日志信息。然后获取了响应体的字符串内容并通过 Log 输出,以便调试。接着使用 Gson 将响应体的字符串内容解析成一个 Root 对象。Root 对象中包含了一个 Result 对象,通过获取该对象并赋值给 result 变量,可以进一步操作解析后的数据。