从另一个活动中删除行

2024-03-09

我有一个由自定义数组适配器膨胀的列表视图,onclick 将其带到另一个具有与该行相关的数据的活动。单击删除后,它应该从列表中删除该项目并返回到列表。

我为此使用下面的代码:

int deleteposition=CustomizedListView.deleteposition;
CustomizedListView.list.removeViewAt(deleteposition);
CustomizedListView.adapter.notifyDataSetChanged();

finish();

但是这一行有一个错误:

 CustomizedListView.list.removeViewAt(deleteposition);

请告诉我如何解决它?

日志猫详细信息:

java.lang.UnsupportedOperationException: removeViewAt(int) is not supported in AdapterView
at android.widget.AdapterView.removeViewAt(AdapterView.java:511)
    at com.example.androidhive.openedmsg$1.onClick(openedmsg.java:35)
    at android.view.View.performClick(View.java:3549)
    at android.view.View$PerformClick.run(View.java:14393)
    at android.os.Handler.handleCallback(Handler.java:605)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:4945)
    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:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)

整个代码:

自定义ListView.class

public class CustomizedListView extends Activity {
    // All static variables
    static final String URL = "https://itunes.apple.com/us/rss/topalbums/limit=20/json";
    // XML node keys
    static final String KEY_SONG = "song"; // parent node
    static final String KEY_ID = "id";
    static final String KEY_TITLE = "title";
    static final String KEY_ARTIST = "artist";
    static final String KEY_DURATION = "duration";
    static final String KEY_THUMB_URL = "thumb_url";

    static ListView list;
    static LazyAdapter adapter;

    HashMap<String, String> map;

    public static  String newactivityno;

    public static int deleteposition;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();

        JSONObject json = JSONfunctions.getJSONfromURL(URL);


        try {
            JSONObject arr2 = json.getJSONObject("feed");
            JSONArray arr = arr2.getJSONArray("entry");

            for (int i = 0; i < arr.length(); i++) {
                JSONObject e1 = arr.getJSONObject(i);

                JSONArray arr3 = e1.getJSONArray("im:image");

                JSONObject arr8 = e1.getJSONObject("im:name");

                JSONObject arr10 = e1.getJSONObject("im:artist");

                    JSONObject e12 = arr3.getJSONObject(0);

            // creating new HashMap
             map = new HashMap<String, String>();

            map.put(KEY_THUMB_URL,  e12.getString("label"));

            map.put(KEY_ARTIST, arr8.getString("label"));
            map.put(KEY_TITLE, arr10.getString("label"));
            // adding HashList to ArrayList
            songsList.add(map);
            }

        } catch (JSONException e) {
            // Log.e("log_tag", "Error parsing data "+e.toString());
            Toast.makeText(getBaseContext(),
                    "Network communication error!", 5).show();
        }


        list=(ListView)findViewById(R.id.list);

        // Getting adapter by passing xml data ArrayList
        adapter=new LazyAdapter(this, songsList);        
        list.setAdapter(adapter);

        // Click event for single list row
        list.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                     int position, long id) {

                                @SuppressWarnings("unchecked")
                                HashMap<String, String> o= (HashMap<String, String>) list.getItemAtPosition(position);

                           //   Toast.makeText(CustomizedListView.this, "ID '" + o.get("title") + "' was clicked.", Toast.LENGTH_SHORT).show(); 

                                deleteposition=position;
                             newactivityno= o.get("title");
                             Intent ii= new Intent(getBaseContext(),newactivity.class); 
                                startActivity(ii);

            }
        });     
    }   
}

新活动.类

public class newactivity extends Activity{


     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.newlayout);


            TextView tv1=(TextView)findViewById(R.id.textView11);
            TextView tv2=(TextView)findViewById(R.id.textView12);

            Button bn=(Button)findViewById(R.id.button1);

            tv2.setText(CustomizedListView.newactivityno);


            bn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    int deleteposition=CustomizedListView.deleteposition;
                    CustomizedListView.list.removeViewAt(deleteposition);
                    CustomizedListView.adapter.notifyDataSetChanged();

                    finish();

                }
            });
}

}

您正在以错误的方式解决这个问题。无需从 AdapterView 中删除 View,只需从数据集中删除数据并调用notifyDataSetChanged()。 (这将自动删除不需要的视图。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从另一个活动中删除行 的相关文章

  • 在 Java/Android 中检查字符串是否包含 URL 的最佳方法是什么?

    在 Java Android 中检查字符串是否包含 URL 的最佳方法是什么 最好的方法是检查字符串是否包含 com net org info 其他 或者有更好的方法吗 url 输入到 Android 中的 EditText 中 它可以是粘
  • 在 Android 中通过蓝牙接收音频

    我想创建一个能够接收音频流的 Android 应用程序 我想过使用 A2DP 配置文件 但似乎 Android 不支持 A2DP 接收器 看起来有很多人正在寻找这个问题的解决方案 但是接收普通的比特流 然后在应用程序中将数据转换为音频呢 我
  • 未找到 ADB screenrecord 命令

    我无法奔跑adb shell screenrecord sdcard my mp4 我尝试运行此命令的设备规格 Honor 5C 安卓6 0 每当我运行 screenrecord 命令时 它都会显示未找到命令 D adb gt adb sh
  • 我无法从 Android 模拟器中删除日语 IME

    我已经多次看到这个问题 但答案总是 从 语言和键盘设置 菜单中取消选中 IME 问题是那里没有复选框 选择菜单 自定义区域设置 en US 菜单 设置 语言和键盘 选择语言 选择 英语 美国 菜单 设置 语言和键盘 日语输入法是唯一的输入法
  • 显示葡萄牙语字符 Android

    我正在开发一个 Android 应用程序 当它应该写 n o 或 cabe a 等单词 例如带有 或 的字符 时 它会写 或 我已经检查过源文件编码 它是UTF 8 看起来 UTF8 被解释为 ISO 8859 x 理论上 你可以提供 ja
  • Android:如何根据视图模型实时数据属性为片段编写单元测试?

    我的片段 UI 中有一个列表视图 其元素集取决于来自视图模型 LiveData 属性的值的状态 我想为片段创建工具测试 该片段包含与该属性的值集相关的 3 个场景测试用例 但我不知道从哪里开始 我的代码应该如下所示 class MyView
  • Android - 在通知栏中使用外部个人资料图像,如 Facebook

    我知道您可以在推送通知参数中发送信息 例如消息 标题 图像 URL 等 Facebook 如何在通知区域中显示您的个人资料图片和消息 我想在通知区域中使用外部图像 因此当您将其下拉时 您会看到带有消息的个人资料图像 现在 我的仅显示可绘制文
  • Android 3.1 USB 主机 - BroadcastReceiver 未收到 USB_DEVICE_ATTACHED

    我经历过USB 主机的描述和示例位于developer android com http developer android com guide topics usb host html检测连接和分离的 USB 设备 如果我在清单文件中使用
  • 使用动画来滑动视图

    我有一个可以识别滑动手势 向上和向下 的 FrameLayout 例如 如果执行向上滑动 我应该对当前视图 即 MATCH PARENT x MATCH PARENT 进行动画处理 使其向上移动 同时新视图来自底部 我可以用动画来实现这一点
  • 没有 Listview 的 Android 导航抽屉

    我想创建一个像导航抽屉一样的滑动菜单 但是将会有文本视图和图像视图 就像半活动一样 有可能做到这一点吗 您可以使用NavigationDrawer来自支持库 包括一个FrameLayout作为一个孩子DrawerLayout并使androi
  • Android Studio 3.0 - 设置未保存

    我已将 文件 gt 设置 gt 编辑器 gt 代码样式 中的 右边距 列 从默认的 100 增加到 140 不幸的是 每次重新启动 Android Studio 后 该边距都会重置 我还尝试导出和导入我的设置 但这并不能阻止重置右边距 希望
  • Kotlin 中的枚举类对于 Android 来说是否像 Java 中那样“昂贵”?

    Are EnumKotlin 中的类对于 Android 来说 昂贵 就像 Java 一样 还可以用吗 IntDefs or StringDefs在科特林 当我将 Kotlin Enum 类反编译为 Java 类时 底层仍然使用了 Java
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • Android Studio 1.0 在 dexDebug 或 dexRelease 上构建失败

    我最近从 Android Studio 0 9 2 升级到 1 0 包括 Gradle 插件版本 1 0 0 并且在构建项目时遇到问题 每当我构建时 我都会在 dexDebug 或 dexRelease 步骤中收到以下异常 UNEXPECT
  • 什么是“多重”启动模式?

    On http developer android com guide topics manifest activity element html http developer android com guide topics manife
  • AAR 可以包含传递依赖吗? [复制]

    这个问题在这里已经有答案了 现在我有一个库项目 比如项目 Foo 它依赖于像 OkHttp 这样的库 现在 Foo 有一个 Maven 构建步骤 可以生成 AAR 并将其推送到公共位置 现在假设我有项目 B 我们将其称为 Bar Bar是一
  • 膨胀类 android.support.design.internal.BottomNavigationView 时出错

    我正在制作我的第一个应用程序 这是一个简单的应用程序 带有启动屏幕和主要活动 现在我有两个构建变体 免费版本 活动底部有 Admob 横幅 付费版本 该应用程序不会在底部显示 admob 横幅 而是将其替换为用于切换活动的底部导航视图 我将
  • OnSwipe 方法在 RecyclerView 中不起作用

    我正在开发一个用于播放音频文件的应用程序 创建了包含 2 个选项卡的选项卡布局 两者中都使用了片段RecyclerView两者都被使用 该片段名为LibraryFragment有这个RecycleView其物品在刷卡时必须传递给HomeFr
  • 如何在给定的纬度和经度处使用标记/覆盖项目启动地图意图?

    我有一个纬度和经度 我想打开以该点为中心的谷歌地图 所以我使用以下代码 Intent intent new Intent android content Intent ACTION VIEW Uri parse geo lat lng st
  • 使用 Arduino 来操作 Android [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人尝试过让 Android 和 Arduino 相互通信吗 我在网上找到了几个项目 Amarino http www amarino tool

随机推荐

  • 在android语音识别中,如何增加考虑输入完成的时间?

    在android语音识别中 任何人都可以知道如何增加我们停止听到语音后考虑输入可能完成所需的时间 我需要防止端点在语音识别时在非常短的语音中间停顿期间中断 如果有人知道解决办法 请回复 任何回应将不胜感激 提前致谢 你好 我也遇到这个问题
  • jQueryUI 自动完成 - 当没有返回结果时

    我想知道当使用时从服务器返回空结果时如何捕获并添加自定义处理程序jQueryUI 自动完成 http jqueryui com demos autocomplete 在这一点上似乎有一些与各种 jQuery 插件相关的问题 例如当结果为空时
  • 从作为 Azure Web App 托管的 ASP.NET 5 应用程序进行日志记录

    我有一个 ASP NET 5 Web API 作为 Web 应用程序托管在 Azure 中 我想使用 Azure 诊断记录我的代码中的消息 有多篇文章包括Azure 文档 https azure microsoft com en us do
  • Azure Web 角色进程未加载 web.config?

    我正在 Windows Azure 模拟器中运行一个 Web 项目 但未加载 web config 我正在作为完整的 IIS 应用程序运行 在 dev Fabric 启动后 我可以转到在 IIS 中运行的应用程序 浏览到文件位置 并验证文件
  • 不要在 git grep 输出中显示 ^M(回车符)

    为了隐藏可怕的事情 M字符来自git diff 必须配置 core whitespace cr at eol 但它们仍然显示在git grep输出 怎么解决呢 编辑 我正在运行的 grep 是 git grep i line number
  • XAML 的延迟加载

    我正在处理的一个项目有一些相当复杂的 XAML 它明显影响了视觉性能 相当多的控件在初始状态下是折叠的 然而 由于它们的 XAML 已被解析并构建了可视化 逻辑树 因此显示几乎空白对象的速度非常慢 看起来 并且需要在此确认 使用初始状态为
  • menuitem 上的 actionlayout 不执行任何操作

    我正在菜单项上设置 actionLayout 并设置背景颜色和图像 但它不受尊重 在我的活动中 我有 getMenuInflater inflate R menu submit action menu 我的提交操作是 menu menu
  • 为什么私有成员变量不允许使用 decltype?

    假设我有一个这样的类 class Foo std vector
  • Pyside:使用 cython 编译应用程序时,addToJavaScriptWindowObject 无法正常工作

    我构建了一个运行几千行代码的应用程序 我试图通过将 python 代码编译为 c 代码 然后编译为目标文件来隐藏代码 该应用程序在 pyside 中运行良好 我转换了这个 python 文件 py to a c文件并将 c 编译为目标文件
  • 通过 Facebook 为物品投票,比如?

    我有一个朋友想举办每周一次的竞赛 用户可以对他们最喜欢的图片进行投票 他希望用户 喜欢 一张照片才能投票 这是该行动的合理机制吗 这行得通吗 有没有合理的方法可以从 Facebook 获取投票数 Facebook表示 https devel
  • 为什么我的 Drupal 8 CORS 设置不起作用?

    从 Drupal 8 2 开始 cors 设置位于核心位置 在我的services yml and default services yml 我有以下设置 cors config enabled true Specify allowed h
  • Wi-Fi Direct 无法连接 WinRT 上的设备

    我尝试通过 Wi Fi Direct 连接两个设备 但这些设备未连接 我在我的应用程序和邻近样本 http code msdn microsoft com windowsapps Proximity Sample 88129731 出现同样
  • 将数据插入领域数据库有进度吗?

    下载 json 字符串后 我的请求数据约为 7MB 这意味着 json 字符串约为 7MB 下载后 我想将数据保存到领域模型对象 表 中 进度如下 1 7390 至 7390 7390 gt 已插入数据 待插入数据总数 我在我的应用程序中使
  • Xamarin.Forms 在文件系统中保存文件

    我尝试从网络下载文件并将其保存到任何 Environment SpecialFolder 位置 无论我尝试什么方法 我总是得到System UnauthorizedAccessException 访问路径 我尝试的任何可能路径 甚至超出En
  • 将 autoconf 配置为具有 --with 选项来自定义构建

    我对 autoconf 和 automake 的工作原理有一个非常基本的了解 这是从各种教程中收集的 但是 由于我希望我的库在构建过程中保持灵活性 因此他们需要 with FEATURE and without FEATURE其他程序中常见
  • XMLHttpRequest 无法加载,请求的资源上不存在“Access-Control-Allow-Origin”标头[重复]

    这个问题在这里已经有答案了 XMLHttpRequest 无法加载 请求的资源上不存在 Access Control Allow Origin 标头 因此 不允许访问来源 null JavaScript 代码如下 function dist
  • 如何使用 tf.keras.utils.image_dataset_from_directory 应用 kfold 交叉验证

    我的目标是应用 k 折交叉验证来训练 VGG19 模型 为此 我使用以下代码从目录中读取图像 DIR Images data dir pathlib Path os getcwd Images train ds tf keras utils
  • 将二进制字符串转换为字节数组

    我有一个由 1 和 0 组成的字符串 我想将其转换为字节数组 例如String b 0110100001101001 我怎样才能将其转换为byte 长度为2 将其解析为以 2 为基数的整数 然后转换为字节数组 事实上 既然你已经有了 16
  • Android 中的 xml 解析

    我是安卓新手 我想要示例如何在 android 中解析 xml 文件 有人可以为我提供一个程序吗 那里有很多例子 这是一个例子CLICK http d codepages com index php android coding advan
  • 从另一个活动中删除行

    我有一个由自定义数组适配器膨胀的列表视图 onclick 将其带到另一个具有与该行相关的数据的活动 单击删除后 它应该从列表中删除该项目并返回到列表 我为此使用下面的代码 int deleteposition CustomizedListV