- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嘿,我正在尝试在 Android 上实现一个 ListView,它将打印从 SQLite 数据库检索到的数据。所以我想从表中检索很多列并将其添加到列表中,所以我将把这个列表打印为 ListView。
为此,我创建了一个方法,该方法将从单独类中的表中选择所有列,并且我将在 ListActivity 中打印 ListView。
我想检索表的 6 列,用 id 2、4、5、6、7、9 表示。
但它显示了很多错误:
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): FATAL EXCEPTION: main
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): java.lang.NullPointerException
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.AbsListView.obtainView(AbsListView.java:1418)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ListView.makeAndAddView(ListView.java:1745)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ListView.fillDown(ListView.java:670)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ListView.fillFromTop(ListView.java:727)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.ListView.layoutChildren(ListView.java:1598)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.AbsListView.onLayout(AbsListView.java:1248)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.View.layout(View.java:7175)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.os.Handler.dispatchMessage(Handler.java:99)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.os.Looper.loop(Looper.java:123)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at android.app.ActivityThread.main(ActivityThread.java:3647)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at java.lang.reflect.Method.invokeNative(Native Method)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at java.lang.reflect.Method.invoke(Method.java:507)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-24 19:19:04.066: ERROR/AndroidRuntime(22630): at dalvik.system.NativeStart.main(Native Method)
这里是选择数据的方法代码。
public List<String> selectAll() {
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
List<String> list3 = new ArrayList<String>();
List<String> list4 = new ArrayList<String>();
List<String> list5 = new ArrayList<String>();
List<String> list6 = new ArrayList<String>();
Cursor cursor = this.db.query(TABLE_NAME, null, null, null, null, null,
"duration desc");
if (cursor.moveToFirst()) {
do {
list1.add(cursor.getString(2));
list2.add(cursor.getString(4));
list3.add(cursor.getString(5));
list4.add(cursor.getString(6));
list5.add(cursor.getString(7));
list6.add(cursor.getString(9));
list1.addAll(list2);
list1.addAll(list3);
list1.addAll(list4);
list1.addAll(list5);
list1.addAll(list6);
} while (cursor.moveToNext());
Log.i(TAG, "After cursor.moveToNext()");
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
Log.i(TAG, "Before selectAll returnment");
return list1;
}
这是 ListActivity 类的代码:
public class RatedCalls extends ListActivity {
private static final String LOG_TAG = "RatedCallsActivity";
private CallDataHelper cdh;
StringBuilder sb = new StringBuilder();
OpenHelper openHelper = new OpenHelper(RatedCalls.this);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(LOG_TAG, "calling from onCreate()");
cdh = new CallDataHelper(this);
Log.i(LOG_TAG, "--->>> before calling the service");
startService(new Intent(this, RatedCallsService.class));
Log.i(LOG_TAG, "Service called.");
Log.i(LOG_TAG, "--->>> after calling the service");
fillList();
}
public void fillList() {
List<String> ratedCalls = this.cdh.selectAll();
setListAdapter(new ArrayAdapter<String>(this, R.layout.listitem,
ratedCalls));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(),
((TextView) view).getText(), Toast.LENGTH_SHORT).show();
}
});
}
}
最佳答案
问题是,在数据库中,如果列值为空,则游标返回 null,因此,这就是 JavaNullPointerException。所以如果数据库中没有要插入的联系人姓名,我会插入一个空字符串。这样可行!
关于android - 在 Android 上使用列表和 ListView 时出现 JavaNullPointerException/Layout 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4528044/
我不确定是否理解好几个 Android /res/layout 文件夹所起的作用。 layout:一般布局 layout-port:必须更改为纵向的小部件布局 layout-land:小部件的布局,必
我在 Qt 4.7 中有一个界面,但我很难按照自己的意愿行事。 所需行为的基本描述:用户在组合框中进行选择,这会导致查询转到另一个函数,该函数返回一个 QHBoxLayout 对象,该对象通常包括多个
我在 res 文件夹中创建了 layout-large、layout-normal 和 layout-xlarge 并且我将所有 xml 文件复制到那些布局文件夹中 首先,我想问一下 layout(d
如图所示。我想在布局上方显示星图。我是这种编码的新手。 我的查询是1)是否可以在我的布局端显示星标(图像)? 2) 如果每次点击我的 Activity 时我都想显示星标并显示第二张图片,这可能吗?意味
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 上个月关闭。 Improve this questio
我正在使用 android studio 中的 Material 设计为 pre lollipop 设备创建一个 android 应用程序,我是 android studio 的新手我正在我的项目中创
我对 Android 布局设计感到困惑。我想实现下图中的布局: 但是下面的代码产生了类似这张图片的东西: 我的代码
如果我有: Some Element.... Other Element
我有一个单元格(称为A),它在更高层次的单元格(称为P)中使用一次。当我将 A 放在 P 中时,它的边框比 A 的实际内容大得多。当我下降到 A 并进行缩放时,它被缩小了,表明边缘存在一些东西。 我可
我有一个“auth-redirect”模块,位于所有页面布局文件(1column、2column 等)的开头。这可以确保在渲染任何页面之前,如果用户未经过正确身份验证,则会重定向到登录页面。 我允许呈
我的app只支持landscape模式(这是业务需求)。 我在 layout-land 文件夹中有一个布局 xml 文件,但我没有费心创建一个 layout 文件夹,因为我在 Android list
我正在尝试为我的 Android 应用程序创建启动屏幕,如链接 http://developer.xamarin.com/guides/android/user_interface/creating_
我目前正在开发一个应用程序,我正在使用 swdp为了创建对多个屏幕的支持。 我添加了 sw400dp文件夹,根据 Android Studio 的 XML 渲染器,它基本上包含所有较小的手机。 这意味
Android 在“layout-normal”和“layout”文件夹中处理布局的方式有什么不同吗?如果我有一个被认为布局很小的设备,如果只有这两个选项,它会查看哪个文件夹? 最佳答案 是的,在您给
我已经看到了在单个页面上创建多个强制布局的解决方案,其中每个布局都包含在其自己的SVG中。但是,我一直无法找到有关如何在单个SVG中包括多个力布局的帮助。每个布局都有自己的数据与之关联。 可以在htt
我听说 Constraint-Layout 中的指南和 RTL 存在一些错误。但是这些方法都没有帮助我。我的BottomNavigation 的两边都有指南,一切都在LTR 中工作,但在RTL 中,其
我有以下渲染函数: render() { return ( Header
我知道如何使用以下文件夹,但例如我不知道 layout-small 和 layout-sw320dp 有什么区别? 此外,建议我哪些文件夹对优化很重要。我不喜欢我的程序被用户视为不规则。我希望得到您的
layout-latest.js ui-layout-west 面板 west: { paneSelector: ".ui-layout-west"
我是 Android 开发的新手,对我来说,了解图形布局和 xml 如何相互关联的一个好方法是尝试 xml 属性并查看图形 UI 中的变化。有没有一种方法可以同时并排查看,而不必从一个切换到另一个?图
我是一名优秀的程序员,十分优秀!