- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个Android来做名为list track的列表应用程序,现在我仍在研究该应用程序的基础知识。无论如何,我为列表 View 创建了一个上下文菜单,该上下文菜单只有1个选项“删除”,它的意思是从列表中删除一个项目,但是当单击“删除”选项时,应用程序崩溃。我尝试在没有.notifyDataSetChanged()的情况下运行它,但它确实起作用,但是在删除该项目之前,我必须单击“添加”按钮,这会导致很多问题。
这是代码:
package com.drift.listtrack;
import android.app.*;
import android.os.*;
import android.widget.*;
import java.util.*;
import android.view.View.*;
import android.view.*;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ContextMenu;
import android.widget.AdapterView;
import android.view.ContextMenu.*;
public class MainActivity extends Activity
{
private ArrayList<String> todoItems;
private ListView list;
private EditText items;
private ArrayAdapter<String> aa;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list= (ListView) findViewById(R.id.list);
items= (EditText) findViewById(R.id.items);
Button enter=(Button) findViewById(R.id.enter);
todoItems= new ArrayList<String>();
int resID=R.layout.listrack_item;
final ArrayAdapter<String> aa=new ArrayAdapter<String>(this, resID, todoItems);
list.setAdapter(aa);
enter.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
todoItems.add(0,items.getText().toString());
aa.notifyDataSetChanged();
items.setText("");
}
});
registerForContextMenu(list);
}
static final private int REMOVE_TODO= Menu.FIRST;
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Options");
menu.add(0, REMOVE_TODO, Menu.NONE, R.string.remove);
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
// TODO: Implement this method
super.onContextItemSelected(item);
switch (item.getItemId()){
case (REMOVE_TODO):{
AdapterView.AdapterContextMenuInfo menuInfo;
menuInfo=(AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
int index=menuInfo.position;
removeItem(index);
return true;
}
}
return false;
}
private void removeItem(int _index){
todoItems.remove(_index);
aa.notifyDataSetChanged();
}
}
12-14 19:16:30.155 4786 4786 D dalvikvm Late-enabling CheckJNI
12-14 19:16:30.575 4786 4786 D dalvikvm GC_FOR_ALLOC freed 74K, 10% free 7092K/7875K, paused 19ms, total 19ms
12-14 19:16:30.580 4786 4786 I dalvikvm-heap Grow heap (frag case) to 8.550MB for 1048592-byte allocation
12-14 19:16:30.600 4786 4816 D dalvikvm GC_FOR_ALLOC freed <1K, 10% free 8116K/8967K, paused 21ms, total 21ms
12-14 19:16:30.615 4786 4788 D dalvikvm GC_CONCURRENT freed 3K, 10% free 8116K/8967K, paused 2ms+1ms, total 13ms
12-14 19:16:30.665 4786 4786 D AbsListView Get MotionRecognitionManager
12-14 19:16:30.880 4786 4786 D libEGL loaded /system/lib/egl/libEGL_mali.so
12-14 19:16:30.885 4786 4786 D libEGL loaded /system/lib/egl/libGLESv1_CM_mali.so
12-14 19:16:30.890 4786 4786 D libEGL loaded /system/lib/egl/libGLESv2_mali.so
12-14 19:16:30.895 4786 4786 D Device driver API match
12-14 19:16:30.895 4786 4786 D Device driver API version: 10
12-14 19:16:30.895 4786 4786 D User space API version: 10
12-14 19:16:30.895 4786 4786 D mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
12-14 19:16:30.965 4786 4786 D OpenGLRenderer Enabling debug mode 0
12-14 19:16:30.970 4786 4786 E SensorManager thread start
12-14 19:16:30.970 4786 4786 D SensorManager registerListener :: handle = 0 name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= android.view.OrientationEventListener$SensorEventListenerImpl@41798610
12-14 19:16:32.920 4786 4786 D SensorManager unregisterListener:: Listener= android.view.OrientationEventListener$SensorEventListenerImpl@41798610
12-14 19:16:32.920 4786 4786 D Sensors Remain listener = Sending .. normal delay 200ms
12-14 19:16:32.920 4786 4786 I Sensors sendDelay --- 200000000
12-14 19:16:32.925 4786 4786 D SensorManager JNI - sendDelay
12-14 19:16:32.930 4786 4786 I SensorManager Set normal delay = true
12-14 19:16:34.520 4786 4786 W IInputConnectionWrapper showStatusIcon on inactive InputConnection
12-14 19:16:30.155 4786 4786 D dalvikvm Late-enabling CheckJNI
12-14 19:16:30.575 4786 4786 D dalvikvm GC_FOR_ALLOC freed 74K, 10% free 7092K/7875K, paused 19ms, total 19ms
12-14 19:16:30.580 4786 4786 I dalvikvm-heap Grow heap (frag case) to 8.550MB for 1048592-byte allocation
12-14 19:16:30.600 4786 4816 D dalvikvm GC_FOR_ALLOC freed <1K, 10% free 8116K/8967K, paused 21ms, total 21ms
12-14 19:16:30.615 4786 4788 D dalvikvm GC_CONCURRENT freed 3K, 10% free 8116K/8967K, paused 2ms+1ms, total 13ms
12-14 19:16:30.665 4786 4786 D AbsListView Get MotionRecognitionManager
12-14 19:16:30.880 4786 4786 D libEGL loaded /system/lib/egl/libEGL_mali.so
12-14 19:16:30.885 4786 4786 D libEGL loaded /system/lib/egl/libGLESv1_CM_mali.so
12-14 19:16:30.890 4786 4786 D libEGL loaded /system/lib/egl/libGLESv2_mali.so
12-14 19:16:30.895 4786 4786 D Device driver API match
12-14 19:16:30.895 4786 4786 D Device driver API version: 10
12-14 19:16:30.895 4786 4786 D User space API version: 10
12-14 19:16:30.895 4786 4786 D mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
12-14 19:16:30.965 4786 4786 D OpenGLRenderer Enabling debug mode 0
12-14 19:16:30.970 4786 4786 E SensorManager thread start
12-14 19:16:30.970 4786 4786 D SensorManager registerListener :: handle = 0 name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= android.view.OrientationEventListener$SensorEventListenerImpl@41798610
12-14 19:16:32.920 4786 4786 D SensorManager unregisterListener:: Listener= android.view.OrientationEventListener$SensorEventListenerImpl@41798610
12-14 19:16:32.920 4786 4786 D Sensors Remain listener = Sending .. normal delay 200ms
12-14 19:16:32.920 4786 4786 I Sensors sendDelay --- 200000000
12-14 19:16:32.925 4786 4786 D SensorManager JNI - sendDelay
12-14 19:16:32.930 4786 4786 I SensorManager Set normal delay = true
12-14 19:16:34.520 4786 4786 W IInputConnectionWrapper showStatusIcon on inactive InputConnection
12-14 19:17:19.575 8036 8036 D dalvikvm DexOpt: load 22ms, verify+opt 34ms, 316316 bytes
12-14 19:17:53.365 9751 9751 D dalvikvm com.drift.listtrack Late-enabling CheckJNI
12-14 19:17:53.645 9751 9751 D dalvikvm com.drift.listtrack GC_FOR_ALLOC freed 78K, 10% free 7092K/7875K, paused 23ms, total 24ms
12-14 19:17:53.645 9751 9751 I dalvikvm-heap com.drift.listtrack Grow heap (frag case) to 8.550MB for 1048592-byte allocation
12-14 19:17:53.670 9751 9753 D dalvikvm com.drift.listtrack GC_CONCURRENT freed 2K, 10% free 8114K/8967K, paused 2ms+2ms, total 20ms
12-14 19:17:53.670 9751 9751 D dalvikvm com.drift.listtrack WAIT_FOR_CONCURRENT_GC blocked 11ms
12-14 19:17:53.670 9751 9770 D dalvikvm com.drift.listtrack WAIT_FOR_CONCURRENT_GC blocked 8ms
12-14 19:17:53.755 9751 9751 D AbsListView com.drift.listtrack Get MotionRecognitionManager
12-14 19:17:53.820 9751 9751 D libEGL com.drift.listtrack loaded /system/lib/egl/libEGL_mali.so
12-14 19:17:53.825 9751 9751 D libEGL com.drift.listtrack loaded /system/lib/egl/libGLESv1_CM_mali.so
12-14 19:17:53.825 9751 9751 D libEGL com.drift.listtrack loaded /system/lib/egl/libGLESv2_mali.so
12-14 19:17:53.830 9751 9751 D com.drift.listtrack Device driver API match
12-14 19:17:53.830 9751 9751 D com.drift.listtrack Device driver API version: 10
12-14 19:17:53.830 9751 9751 D com.drift.listtrack User space API version: 10
12-14 19:17:53.830 9751 9751 D com.drift.listtrack mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
12-14 19:17:53.875 9751 9751 D OpenGLRenderer com.drift.listtrack Enabling debug mode 0
12-14 19:17:53.880 9751 9751 E SensorManager com.drift.listtrack thread start
12-14 19:17:53.880 9751 9751 D SensorManager com.drift.listtrack registerListener :: handle = 0 name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= android.view.OrientationEventListener$SensorEventListenerImpl@417b9bb8
12-14 19:18:00.040 9751 9751 D AbsListView com.drift.listtrack Get MotionRecognitionManager
12-14 19:18:00.105 9751 9753 D dalvikvm com.drift.listtrack GC_CONCURRENT freed 110K, 9% free 8432K/9223K, paused 3ms+3ms, total 24ms
12-14 19:18:00.225 9751 9751 D SensorManager com.drift.listtrack unregisterListener:: Listener= android.view.OrientationEventListener$SensorEventListenerImpl@417b9bb8
12-14 19:18:00.225 9751 9751 D Sensors com.drift.listtrack Remain listener = Sending .. normal delay 200ms
12-14 19:18:00.225 9751 9751 I Sensors com.drift.listtrack sendDelay --- 200000000
12-14 19:18:00.225 9751 9751 D SensorManager com.drift.listtrack JNI - sendDelay
12-14 19:18:00.225 9751 9751 I SensorManager com.drift.listtrack Set normal delay = true
12-14 19:18:00.900 9751 9751 D AndroidRuntime com.drift.listtrack Shutting down VM
12-14 19:18:00.900 9751 9751 W dalvikvm com.drift.listtrack threadid=1: thread exiting with uncaught exception (group=0x410352a0)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack FATAL EXCEPTION: main
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack java.lang.NullPointerException
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.drift.listtrack.MainActivity.removeItem(MainActivity.java:95)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.drift.listtrack.MainActivity.onContextItemSelected(MainActivity.java:80)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.app.Activity.onMenuItemSelected(Activity.java:2629)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:4034)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:193)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:934)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.widget.AdapterView.performItemClick(AdapterView.java:301)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.widget.AbsListView.performItemClick(AbsListView.java:1287)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.widget.AbsListView$PerformClick.run(AbsListView.java:3078)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.widget.AbsListView$1.run(AbsListView.java:4161)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.os.Handler.handleCallback(Handler.java:615)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.os.Handler.dispatchMessage(Handler.java:92)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.os.Looper.loop(Looper.java:137)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at android.app.ActivityThread.main(ActivityThread.java:4921)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at java.lang.reflect.Method.invokeNative(Native Method)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at java.lang.reflect.Method.invoke(Method.java:511)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-14 19:18:00.905 9751 9751 E AndroidRuntime com.drift.listtrack at dalvik.system.NativeStart.main(Native Method)
最佳答案
因为一个对象(在类中)为null,所以您将获得NullPointerException。原因是在onCreate中,您创建了另一个具有相同名称的aa对象(arraylist)。您需要将arraylist分配给类变量。
尝试:
aa = new ArrayAdapter(this,resID,todoItems);
关于android - .notifyDataSetChanged()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27472932/
我正在尝试在我的 recyclerview 方法上实现此方法 Changing background color of selected item in recyclerview 我正确地遵循了脚本,
我有一个列表,其中填充了自定义 ArrayAdapter。 我想每秒更新一个进度条,所以我尝试使用 notifyDataSetChanged() 来重新绘制列表,但它似乎不起作用。 最佳答案 您如何更
我正在改进我的应用程序稳定性和性能,但现在我遇到了来自 Android Studio 的警告。请考虑以下适配器类: private class CoinsAdapter(private val fra
我正在制作一个Android来做名为list track的列表应用程序,现在我仍在研究该应用程序的基础知识。无论如何,我为列表 View 创建了一个上下文菜单,该上下文菜单只有1个选项“删除”,它的意
我想从另一个线程调用adapter.notifyDataSetChanged()。我读到我应该使用 AsyncTask 并在执行后执行 adapter.notifyDataSetChanged() 。
我知道这个问题已被问过数千次,但由于某种原因我找不到适合我的情况的答案。 我拥有的是一个从 Web 服务获取数据并用信息填充列表的线程。然后我想按下一个按钮并调用同一线程来获取更多数据并将其添加到列表
friend , 我正在为 android ListView 使用以下自定义适配器我面临的问题是调用 notifydatasetchanged() 后位置错误; 我第一次将数据与列表位置绑定(bind
我在 windows 7 64bit 下使用 android 1.6当我从扩展 BaseAdapter 的适配器对象调用 notifyDataSetChanged() 时,我得到了运行时异常 我尝试使
我有一个类 Myadapter extends BaseAdapter.in Myadapter 我更改了 MyListView 数据然后调用 notifyDataSetChanged() 方法,比如
我一直在寻找年龄并尝试了几个月。我永远无法让我的观点(任何观点)无效。这里有什么问题,任何人都可以告诉我吗?谁能告诉我如何使用这些无效方法。提前致谢! if(resul
在我的 Activity 中,我有两个 ListView ,因此我使用了两个不同的适配器。我的要求是在两个列表项中我都有一个按钮。单击任何 ListView 中的按钮,两个 ListView 中的数据
我有一个用于我的 ListView 的适配器,然后我需要使用 SensorChange 方法中的 notifydatasetchanged 方法刷新它。你知道 SensorChange 方法被频繁快速
我正在使用 FragmentStatePagerAdapter 来实现 VerticalPageAdapter 的目的,我必须为与 Button< 相关的相同 Fragment 创建动态编号 被按下,
这个问题在这里已经有了答案: Custom Adapter getView() method is not called (6 个答案) 关闭 7 年前。 这是我的代码我想在 ListView 中显
我正在尝试做的事情: 按下添加按钮时,将值从 EditText 插入到数据库。 用数据库中的数据填充 ListView 。 问题: 当我单击添加按钮时,它会将值插入到数据库中,但不会将其填充到 Lis
我正在尝试制作一个像 tinder 一样刷卡的应用程序。我有一个 Texview 上面有一些文字,当我刷下一张卡片时有另一个文字等等。我还想做的是当我单击一个按钮以删除屏幕上的卡片并转到下一张时。我正
我正在制作一个程序,该程序将寻找与手机蓝牙设备配对的程序,显示它们及其地址以供用户查看,并且当用户已经在他的手机中打开 Bt 时它工作正常。当他不这样做时会出现问题,导致添加到 arrayList 中
有人可以向我解释以下问题的来源: 我有一个列表,根据某些偏好显示多个项目。用户可以通过 SlidingDrawer 更改这些首选项。每当发生这种情况时,我都会获得与新首选项相对应的项目,然后使用以下代
我有一个 ListView ,它使用不同类中的基本适配器显示来 self 的数据库的多个数据。每次我删除或添加一个项目到我的数据库时,我都想刷新我的 ListView 。 这是我的代码,但它没有刷新我
在我的代码中,我有两个 Activity 。 一个是 ListView Activity ,另一个 Activity 用于修改数据。修改数据后,用户将返回到 ListView Activity 。 我
我是一名优秀的程序员,十分优秀!