- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将ArrayList数据设置到另一个扩展listView的 fragment 中的ListView?
非常感谢各位专家的帮助。
自定义 ArrayList 接受 int、string、string。我从两个 EditText 获取用户输入并将它们添加到此 ArrayList 中。当用户重新进入时,它应该继续将其添加到ArrayList中。
目标是获取用户的所有条目并将其显示在下一个 fragment 的 ListView 中。但只有将ArrayList中的两个String转换为String数组才能用作ArrayAdapter的数据源。因此重写了 diarylogs 类中的 toSting 方法。我可以在 sysout 时看到 ArrayList 中的值。但是,一旦我设置ListAdapter,应用程序就会崩溃。无法理解我做错了什么。
更新
Class MainActivity extends Activity
//Static variable
public static ArrayList<DiaryLogs> test;
public static int Monday=0;
类日记日志
public class DiaryLogs {
String timeEntry, entryEntered;
int day;
// single constructor that takes an integer and two string
public DiaryLogs(int day, String timeEntry, String entryEntered) {
super();
this.day = day;
this.timeEntry = timeEntry;
this.entryEntered = entryEntered;
}
public String getTimeEntry() {
return timeEntry;
}
public void setTimeEntry(String timeEntry) {
this.timeEntry = timeEntry;
}
public String getEntryEntered() {
return entryEntered;
}
public void setEntryEntered(String entryEntered) {
this.entryEntered = entryEntered;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
@Override
public String toString() {
return timeEntry + "\n" + entryEntered;
}
}
Monday_fragment 类
public class Monday_fragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.monday_fragment, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
currentDateTime();
super.onViewCreated(view, savedInstanceState);
}
public void currentDateTime() {
EditText timeText = (EditText) getView().findViewById(
R.id.dateTimeEText);
SimpleDateFormat df = new SimpleDateFormat("d/M/yyyy:H:m");
String dateTime = df.format(Calendar.getInstance().getTime());
timeText.setText(dateTime);
}
@Override
public void onStart() {
Button saveBtn = (Button) getView()
.findViewById(R.id.saveDiaryEntryBtn);
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
EditText timeText = (EditText) getView().findViewById(
R.id.dateTimeEText);
EditText entryText = (EditText) getView().findViewById(
R.id.diaryEntryEText);
String timeEntry = timeText.getText().toString();
String entryEntered = entryText.getText().toString();
MainActivity.test = new ArrayList<DiaryLogs>();
MainActivity.test.add(new DiaryLogs(MainActivity.Monday,
timeEntry, entryEntered));
}
}
);
Button showBtn = (Button) getView().findViewById(
R.id.showDiaryEntriesBtn);
showBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction();
Monday_list_fragment mlf = new Monday_list_fragment();
fragmentTransaction.replace(android.R.id.content, mlf);
fragmentTransaction.commit();
}
});
super.onStart();
}
}
Monday_list_fragment 类
public class Monday_list_fragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater
.inflate(R.layout.monday_list_fragment, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println(MainActivity.test); //test: if value can be seen
ArrayAdapter<DiaryLogs> arrayAdapter = new ArrayAdapter<DiaryLogs>(
getActivity(),
android.R.layout.simple_list_item_1, MainActivity.test
);
setListAdapter(arrayAdapter); //once i set adapter it crashes
}
}
布局 XML 文件:monday_list_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@id/android:list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:smoothScrollbar="true" >
</ListView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:id="@+id/returnBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/return_mon_Btn"
android:onClick="monClick">
</Button>
</LinearLayout>
</RelativeLayout>
LOGCAT
04-11 23:45:53.992: E/AndroidRuntime(10006): FATAL EXCEPTION: main
04-11 23:45:53.992: E/AndroidRuntime(10006): Process: com.example.s0217980_diary, PID: 10006
04-11 23:45:53.992: E/AndroidRuntime(10006): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.s0217980_diary/com.example.s0217980_diary.MainActivity}: android.view.InflateException: Binary XML file line #41: Error inflating class fragment
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.os.Handler.dispatchMessage(Handler.java:102)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.os.Looper.loop(Looper.java:136)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-11 23:45:53.992: E/AndroidRuntime(10006): at java.lang.reflect.Method.invokeNative(Native Method)
04-11 23:45:53.992: E/AndroidRuntime(10006): at java.lang.reflect.Method.invoke(Method.java:515)
04-11 23:45:53.992: E/AndroidRuntime(10006): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-11 23:45:53.992: E/AndroidRuntime(10006): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-11 23:45:53.992: E/AndroidRuntime(10006): at dalvik.system.NativeStart.main(Native Method)
04-11 23:45:53.992: E/AndroidRuntime(10006): Caused by: android.view.InflateException: Binary XML file line #41: Error inflating class fragment
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
04-11 23:45:53.992: E/AndroidRuntime(10006): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.Activity.setContentView(Activity.java:1929)
04-11 23:45:53.992: E/AndroidRuntime(10006): at com.example.s0217980_diary.MainActivity.onCreate(MainActivity.java:52)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.Activity.performCreate(Activity.java:5231)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-11 23:45:53.992: E/AndroidRuntime(10006): ... 11 more
04-11 23:45:53.992: E/AndroidRuntime(10006): Caused by: java.lang.NullPointerException
04-11 23:45:53.992: E/AndroidRuntime(10006): at com.example.s0217980_diary.Monday_list_fragment.onCreate(Monday_list_fragment.java:45)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.Fragment.performCreate(Fragment.java:1678)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.app.Activity.onCreateView(Activity.java:4786)
04-11 23:45:53.992: E/AndroidRuntime(10006): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
04-11 23:45:53.992: E/AndroidRuntime(10006): ... 21 more
04-11 23:48:11.294: D/dalvikvm(10069): GC_FOR_ALLOC freed 71K, 6% free 3267K/3448K, paused 16ms, total 24ms
04-11 23:48:11.364: D/AndroidRuntime(10069): Shutting down VM
04-11 23:48:11.364: W/dalvikvm(10069): threadid=1: thread exiting with uncaught exception (group=0xb0c9db20)
04-11 23:48:11.374: E/AndroidRuntime(10069): FATAL EXCEPTION: main
04-11 23:48:11.374: E/AndroidRuntime(10069): Process: com.example.s0217980_diary, PID: 10069
04-11 23:48:11.374: E/AndroidRuntime(10069): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.s0217980_diary/com.example.s0217980_diary.MainActivity}: android.view.InflateException: Binary XML file line #41: Error inflating class fragment
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.os.Handler.dispatchMessage(Handler.java:102)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.os.Looper.loop(Looper.java:136)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-11 23:48:11.374: E/AndroidRuntime(10069): at java.lang.reflect.Method.invokeNative(Native Method)
04-11 23:48:11.374: E/AndroidRuntime(10069): at java.lang.reflect.Method.invoke(Method.java:515)
04-11 23:48:11.374: E/AndroidRuntime(10069): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-11 23:48:11.374: E/AndroidRuntime(10069): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-11 23:48:11.374: E/AndroidRuntime(10069): at dalvik.system.NativeStart.main(Native Method)
04-11 23:48:11.374: E/AndroidRuntime(10069): Caused by: android.view.InflateException: Binary XML file line #41: Error inflating class fragment
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
04-11 23:48:11.374: E/AndroidRuntime(10069): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.Activity.setContentView(Activity.java:1929)
04-11 23:48:11.374: E/AndroidRuntime(10069): at com.example.s0217980_diary.MainActivity.onCreate(MainActivity.java:52)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.Activity.performCreate(Activity.java:5231)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-11 23:48:11.374: E/AndroidRuntime(10069): ... 11 more
04-11 23:48:11.374: E/AndroidRuntime(10069): Caused by: java.lang.NullPointerException
04-11 23:48:11.374: E/AndroidRuntime(10069): at com.example.s0217980_diary.Monday_list_fragment.onCreate(Monday_list_fragment.java:45)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.Fragment.performCreate(Fragment.java:1678)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.app.Activity.onCreateView(Activity.java:4786)
04-11 23:48:11.374: E/AndroidRuntime(10069): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
04-11 23:48:11.374: E/AndroidRuntime(10069): ... 21 more
最佳答案
如果你有一个像 ArrayList 这样的数组,你不需要解压它并提取你想要的字符串并将其添加到另一个数组中,只是为了将其输入到 ListView 中。只需重写 DiaryLogs 类中的 toString() 方法并使用您选择的字符串(例如 timeEntry 和 entryEntered)返回它。喜欢
// class DiaryLogs
class DiaryLogs {
...
@Override
public toString() {
return dateTime + " - " + entryName;
}
...
}
// in your activity
ArrayList<DiaryLogs> diaryLogs = new ArrayList<DiaryLogs>();
diaryLogs.add(new DiaryLogs(1, "Apr. 14, 2014", "Entry 1"));
diaryLogs.add(new DiaryLogs(1, "Apr. 14, 2014", "Entry 2"));
diaryLogs.add(new DiaryLogs(1, "Apr. 14, 2014", "Entry 3"));
yourListView.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, diaryLogs));
yourListView 显然是您正在使用的 ListView 。
关于java - 如何将 ArrayList<custom> 数据设置到扩展 listView 的另一个 fragment 中的 ListView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23046048/
我是 magento 的新手,目前我在 magento 安装期间遇到“必须加载 PHP 扩展 curl ”错误。你能帮帮我吗? 最佳答案 如果您的服务器上没有安装 curl,您可以键入以下命令之一来安
我在 macOS Mojave/macOS Big Sur/macOS Monterey/macOS Ventura 上使用最新的 php 版本 7.2 并收到类似错误 $composer requ
这个问题已经有答案了: Why generic type is not applicable for argument extends super class for both? (5 个回答) 已关
我正在使用 NightWatch.js 并进行一些 UI 测试,我想用一些额外的 desiredCapabilities 启动默认浏览器实例(即启用扩展并应用一些特定值)。 p> 注意:我可以执行这些
有人知道为什么我在 java 8 中使用此代码时没有服务器扩展名称吗: try { URL url = new URL(urlString); URLC
扩展提供给我的类(class)。为现有的类提供新功能。或扩展现有的mixin s 或虚拟类,任何东西都可以工作。 也许是这样的: class FlatButton {} // maybe no
我有一个关于使用 c 代码和 mod_wsgi 扩展 python 的问题。 我在 apache 服务器中有一个 django 应用程序,它查询 postgresql 数据库以生成报告。在某些报告中,
testcafe支持在Chrome浏览器中加载crx扩展吗? 如果是这样,请告诉我需要尝试什么方法。 我尝试了下面的代码,但没有成功 await t.eval(new Function(fs.read
这个问题已经有答案了: What is a raw type and why shouldn't we use it? (16 个回答) 已关闭 3 年前。 有什么区别: // 1 class A c
我正在编写一个 chrome 扩展来记录单击开始按钮后触发的请求。 这是我的文件:1. list .json { "manifest_version": 2, "name": "recorde
我每天都在使用 vim 和 perforce 现在我的问题是,如果我想查看 perforce 文件修订版,则从命令模式下的 vim :!p4 打印文件#1 vim 试图让我获得缓冲区 #1。有没有办法
大家好,我有一个关于 NUnit 扩展(2.5.10)的问题。 我想做的是向 数据库。为此,我使用 Event 创建了 NUnit 扩展 听众。 我遇到的问题是公共(public)无效 TestFin
我有弹出窗口,而不是模态窗口。 如何通过单击页面的其他部分(不在窗口中)来关闭此窗口? 最佳答案 像这样的东西: function closeWin(e, t) { var el = win.
我通常非常谨慎地使用扩展方法。当我确实觉得有必要编写一个扩展方法时,有时我想重载该方法。我的问题是,您对调用其他扩展方法的扩展方法有何看法?不好的做法?感觉不对,但我无法真正定义原因。 例如,第二个
扩展 Ant Ant带有一组预定义的任务,但是你可以创建自己的任务,如下面的例子所示。 定制Ant 任务应扩展 org.apache.tools.ant.Task 类,同时也应该拓展 execut
我想要一个重定向所有请求的扩展: http://website.com/foo.js 到: http://localhost/myfoo.js 我无法使用主机文件将主机从 website.com 编辑
对于为什么 QChartView 放在 QTabWidget 中时会扩展,我有点迷惑。 这是 QChartView 未展开(因为它被隐藏)时应用程序的图片。 应用程序的黑色部分是 QOpenGLWid
如果在连接条件中使用 OR 运算符,如何优化以下查询以避免 SQL 调优方面的 OR 扩展? SELECT t1.A, t2.B, t1.C, t1.D, t2.E FROM t1 LEFT J
一旦加载插件的问题得到解决(在 .NET 中通过 MEF 的情况下),下一步要解决的是与它们的通信。简单的方法是实现一个接口(interface),使用插件实现,但有时插件只需要扩展应用程序的工作方式
在我的 Symfony2 包中,我需要检查是否定义了一个函数(一个扩展)。更具体地说,如果安装了 KnpMenuBundle,我会在我的包中使用那个,否则我将自己渲染插件。 我试过了,但这当然不起作用
我是一名优秀的程序员,十分优秀!