android listview长按报错

jimowuxin jimowuxin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各位大牛,现在自己遇到一个问题,自己做了一个获取联系人的listview的示例,但是长按的话报错,先把代码放上,

public class ListviewtestActivity extends Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listviewtest);
final List<Map<String, Object>> listItems=get_contacts(ListviewtestActivity.this);
BaseAdapter baseAdapter=new BaseAdapter() {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub

Map<String, Object> map=listItems.get(position);
LinearLayout linearLayout=new LinearLayout(ListviewtestActivity.this);
linearLayout.setOrientation(0);

LinearLayout linearLayout_t=new LinearLayout(ListviewtestActivity.this);
linearLayout_t.setOrientation(1);
TextView nameTextView=new TextView(ListviewtestActivity.this);
nameTextView.setTextSize(20);
nameTextView.setTextColor(Color.RED);
TextView numberTextView=new TextView(ListviewtestActivity.this);
numberTextView.setTextSize(15);
numberTextView.setTextColor(Color.BLUE);
linearLayout_t.addView(nameTextView);
linearLayout_t.addView(numberTextView);

LinearLayout linearLayout_c=new LinearLayout(ListviewtestActivity.this);
linearLayout_c.setGravity(0x05);
CheckBox selectCheckBox=new CheckBox(ListviewtestActivity.this);
selectCheckBox.setClickable(false);
selectCheckBox.setFocusable(false);
selectCheckBox.setFocusableInTouchMode(false);
linearLayout_c.addView(selectCheckBox);

linearLayout.addView(linearLayout_t);
linearLayout.addView(linearLayout_c);

nameTextView.setText(map.get("name").toString());
numberTextView.setText(map.get("number").toString());
if (map.get("selected").toString().equals("0")) {
selectCheckBox.setChecked(false);
} else {
selectCheckBox.setChecked(true);
}
Log.v("caicai", "getView_");
return linearLayout;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
Log.v("caicai", "getItemId"+position);
return position;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
Log.v("caicai", "getItem");
return listItems.get(position);
}

@Override
public int getCount() {
// TODO Auto-generated method stub
Log.v("caicai", "getCount"+listItems.size());
return listItems.size();
}
};
ListView listView=(ListView)findViewById(R.id.listview_select_contact_test);
listView.setAdapter(baseAdapter);
/*
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int pasition, long id)
{
Map<String, Object> map=listItems.get(pasition);
Log.v("caicai", map.get("name").toString());

}
});

listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
Log.v("caicai","setOnItemLongClickListener");
menu.add(0, 0, 0, "添加");
menu.add(0, 1, 0, "删除");
menu.add(0, 2, 0, "删除ALL");
}
});*/
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0,
View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Log.v("caicai", "setOnItemLongClickListener");
return false;
}
});
}

长按错误的log,报空指针错误
FATAL EXCEPTION: main
java.lang.NullPointerException
at com.android.internal.policy.impl.PhoneWindow$DecorView$ActionModeCallbackWrapper.onCreateActionMode(PhoneWindow.java:2709)
at com.android.internal.app.ActionBarImpl$ActionModeImpl.dispatchOnCreate(ActionBarImpl.java:945)
at com.android.internal.app.ActionBarImpl.startActionMode(ActionBarImpl.java:515)
at android.app.Activity.onWindowStartingActionMode(Activity.java:4962)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2414)
at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2401)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:654)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:654)
at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:654)
at android.view.View.startActionMode(View.java:4381)
at android.widget.AbsListView.performLongPress(AbsListView.java:2832)
at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:2792)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5199)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
at dalvik.system.NativeStart.main(Native Method)

请各位大牛告诉小弟到底是哪里出了问题呀 自己调试了很久都不行
...全文

相关推荐

Android ListView长按删除

实现ListView上内容的长按删除功能

TroyRay

React-Native爬过的坑,解决ListView 在Android手机上无吸顶效果

开始以为在Android平台上不支持吸顶效果是因为原生不支持,后来在官方文档上看到 所以尝试着加上了              stickySectionHeadersEnabled={true} 然而run一下直接报错了 看着这红屏我这小白都快哭了,看了文档也百度了下结果是啥都没有 我又试着加上了           stickyHeaderInd

kongyahoo

Fragment里面创建button、ListView、活动条

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、开机界面和登录注册进入后的界面 我把登录后的主界面做成了 仿微信的横划界面 即Fragm.

超级小太阳9

安卓通过WebService读写MySQL

安卓通过WebService读写MySQL安卓通过GET,POST提交数据到PHP操作MySQL搭建PHP服务器创建MySQL表

正中心

实现对ListView的多选、长按和删除

通过对ListView和CheckBox进行一些监听操作,实现对listView的单条记录或多条记录进行简单操作。有完整的代码可以供初学者参考.

断风尘
评论 2
收藏 已收藏
分享
返回顶部
jimowuxin
Android 80,489 成员 91,375 内容