- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
大家好,我正在寻找使用 AppCompatActivity,因为它正在寻找 api 8 和 ListActivity 的向下兼容性的接口(interface),因为我正在寻找 ListActivity 的 onListItemClick 重写方法,所以我该怎么做。例如
public class a extends AppCompatActivity {
//I want to use onListItemClick override method of class b with this //instance if you get me
}
public class b extends ListActivity(){
@override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
//some code here
}
感谢您的支持!!
最佳答案
从继承 ListView
切换到 AppCompatActivity
时,您需要进行一些更改来替换 ListView
的内置内容。
您无法再调用 this
来获取 ListView
。您需要从 View 中获取它。我建议创建这样的方法:
protected ListView getListView() { return findViewById( android.R.id.list ); }
注意:如果您的列表没有 list
的 id
,则需要更新它,但我建议尽可能使用 id list
,因为它可以保持一致,并且意味着您可以在多个 Activity 上使用此方法。
您不能再仅重写 onListItemClick
方法,因为 AppCompatActivity
上不存在该方法,因此您需要创建自己的监听器,并使用 setOnItemClickListerner
将其设置到列表,然后将其添加到 onCreate
中。这是一个例子:
getListView().setOnItemClickListener( new AdapterView.OnItemClickListener() {
@Override
public void onItemClick( AdapterView<?> parent, View view, int position, long id ) {
Cursor cursor = (Cursor) getListView().getItemAtPosition( position );
String itemId = cursor.getString( cursor.getColumnIndex( "id" ) );
Intent itemActivityIntent = new Intent( view.getContext(), Item.class );
itemActivityIntent.putExtra( view.getContext().getPackageName() + ".itemId", itemId );
startActivity( itemActivityIntent);
} )
} );
您无法再在 populateListView
中调用 this.setListAdapter
。相反,您需要获取 ListView 并调用 setAdapter
,如下所示:
getListView().setAdapter( adapter );
应该可以了。您可能还需要对您的设置进行一些其他调整,但这些都是重大调整。
关于java - 如何模拟AppCompatActivity和ListActivity扩展行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918488/
在 Android 应用程序中,“ListActivity”可以作为主要 Activity 吗? 最佳答案 是的,您可以使用 ListActivity 作为您应用的主要 Activity 。只需将其定
我正在尝试创建一个 ListActivity,其行包含文本和图像。但它只显示一行的值,其他行的图像和文本是不可见的。当我调试代码时,它们的值不为空。但它显示行,但除了第一行之外,在布局上不显示这些文本
我有一个基本的 ListActivity 和一些假测试数据。当我运行该应用程序时,它立即崩溃。我尝试调试但没有得到任何反馈。它在说开始后就停止了: Intent 。 public class Pers
如何制作一个包含图片和摘要(项目列表文本下的文本)的列表,它对项目的描述很少。 我的代码制作了一个包含图片的列表。如何添加摘要? Activity 类别: public clas
当我尝试设置 listAdapter 或适配器(#setListAdapter(), #getListView().setAdapter())时,它不显示。当我尝试单独设置 ListView 时,它工
我需要在同一 Activity 中插入来自两个列表(从游标填充)的数据。 布局必须是: -TextView1-从 table1 游标列表 -TextView2-从 table2 游标列表 这可能吗?
鉴于我下面的 xml 文件,当我的对象列表不为空时,我想显示 ListView,当我的列表为空时,我想显示 ViewStub。我可以让它工作,但每当我改变屏幕方向时,我都会丢失我添加到列表中的新数据。
我的 Android 应用程序中有一个运行良好的 ListActivity。直到我决定使用加速度计添加滚动功能。 这是我的代码: package be.pxl.minecraftguide; impo
我有以下 ListActivity: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc
有人知道使用 CursorAdapter 的简单示例吗?这是我现在正在做的事情,它因 RuntimeException 而崩溃。鉴于我是新手并且找不到使用 Cursor 的 ListView 的任何简
我正在使用 ListActivity 来显示图标化列表(使用 BaseAdapter 的自定义实现)。它没有正确地重新加载数据。当我更改适配器的内容并通知列表时,似乎旧数据绘制在新数据之上,直到发生滚
我在使用带有自定义适配器的 ListActivity 时遇到了问题。这是适配器代码: public class CustomRowAdapter extends BaseAdapter { p
所以,我在这里有我的 onCreate 方法,用于使用用户安装的应用程序填充 ListView。这需要很长时间才能完成,我试图弄清楚在哪里创建一个新线程来完成一些繁重的工作,以便我可以在加载列表时显示
我可以在从外部 XML 资源加载内容后更新 ListActivity 吗:/? SUB() 是 ListActivity Main() -> opening: SUB() -> updating fr
我正在构建一个小型应用程序,我想在新数据到达时自动更新它。 根据我阅读的 android 文档,我认为因为我使用的是较新的技术,所以会在后台为我创建一个 ContentObserver,并且我会自动调
我有一个显示玩家信息的 Activity 。这部分工作正常。 (我使用了适配器)。但是,我应该将检测某行何时被单击的代码放在哪里? PlayersActivity.java package com.d
是否可以将 ListActivity 的页眉和页脚设置为固定在顶部和底部,这样只有内容(列表)在滚动,而不是页眉和页脚? 我都是这样设置的: View header = getLayoutInflat
我正在使用兼容性库将现有应用程序转换为 Fragments API。我读到您应该更新扩展 Activity 的类以现在使用 FragmentActivity。这对大多数情况都很好,但是扩展 ListA
我有一个 super 简单的 ActivityList,比如一个包含所有国家/地区的 scoll 列表。现在,我想按大陆对国家进行分组: 阿兹亚 中国 印度 欧洲 法国 希腊 Android 联系人应
我有一个实现 Runnable 的列表 Activity ,因此我的数据获取是通过进度条完成的。数据是从网络服务中提取的。现在,我要获取所有用户,但我想对其进行更改,以便它一次检索用户一页,而不是一次
我是一名优秀的程序员,十分优秀!