intent.putExtra("path", "/iqiyi/favorite");空
时间: 2023-10-27 18:07:15 浏览: 186
根据提供的引用内容,我们可以看到在使用Intent传递数据时,可以传递基本数据类型、String、Parcelable、Serializable、Bundle、CharSequence和Intent等类型的数据。\[2\]在你提供的代码中,使用了putExtra方法将名为"path"的String类型数据"/iqiyi/favorite"放入Intent中。根据你的问题描述,你可能没有给这个String类型的数据赋值,导致它为空。请确保在使用putExtra方法时,给定的数据是有效的。
#### 引用[.reference_title]
- *1* *2* *3* [[读书笔记]intent.putExtra的使用与原理分析](https://blog.csdn.net/DayDayPlayPhone/article/details/52579577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关问题
public boolean onKeyDown(int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_HOME){ return true; } else if (keyCode == KeyEvent.KEYCODE_BACK){ autoSetMessage(); setResult(RESULT_OK, intent); finish(); return true; } return super.onKeyDown(keyCode, event); } public void autoSetMessage(){ if(openMode == 4){ if(et.getText().toString().length() == 0){ intent.putExtra("mode", -1); //nothing new happens. } else{ intent.putExtra("mode", 0); // new one note; intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr()); intent.putExtra("tag", tag); } } else { if (et.getText().toString().equals(old_content) && !tagChange) intent.putExtra("mode", -1); // edit nothing else { intent.putExtra("mode", 1); //edit the content intent.putExtra("content", et.getText().toString()); intent.putExtra("time", dateToStr()); intent.putExtra("id", id); intent.putExtra("tag", tag); } } } public String dateToStr(){ Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return simpleDateFormat.format(date); } }这里运用了哪些技术
这段代码主要运用了Android开发中的事件监听技术以及日期格式化技术。其中,onKeyDown()方法监听了按键事件,当按下返回键时,自动保存数据并返回主界面。autoSetMessage()方法根据不同的打开模式(openMode)和内容是否改变,设置intent传递的参数。dateToStr()方法将当前时间按照指定格式转化为字符串。同时,代码中还用到了Java语言的条件语句和字符串操作等技术。
}); listView.setOnItemClickListener((adapterView, view, i, l) -> { DraftsChapter draftsChapter1 = (DraftsChapter) draftsChapterAdapter.getItem(i); Intent intent1 = new Intent(searchActivity.this, WriteActivity.class); String sendID = draftsChapter1.getId(); String sendTitle = draftsChapter1.getTitle(); String sendContent = draftsChapter1.getContent(); intent.putExtra("id", sendID); intent.putExtra("content", sendContent); intent.putExtra("title", sendTitle); String fragmentName="A"; intent.putExtra("key",fragmentName); intent.putExtra("bookId", bookId); startActivity(intent1); });报错java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object com.example.mywriteproject.Adapter.DraftsChapterAdapter.getItem(int)' on a null object reference
这个错误提示表明你在调用 `draftsChapterAdapter.getItem(i)` 时,`draftsChapterAdapter` 对象为空。你需要在调用该方法之前先对 `draftsChapterAdapter` 进行初始化,或者检查其是否已经初始化。你可以在代码中添加类似以下的判断语句:
```
if (draftsChapterAdapter != null) {
DraftsChapter draftsChapter1 = (DraftsChapter) draftsChapterAdapter.getItem(i);
// ...
}
```
这样可以避免在 `draftsChapterAdapter` 未初始化时导致的空指针异常。
阅读全文