- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在我的应用中实现 Material Design,并将 ListView 转换为 RecyclerView。我一直在关注使用方法 getListView() 的教程,但是当我使用 AppCompatActivity 扩展我的类时,这些教程不再可用。我可以使用替代方案吗?
最佳答案
getListView()
是 ListActivity
和 ListFragment
的便捷方法。但是,不需要使用 ListActivity
或 ListFragment
来使用 ListView
。如果您使用常规 Activity
或常规 Fragment
,您将使用 findViewById()
从您的布局中检索您的 ListView
>,就像您使用任何其他类型的小部件一样。
RecyclerView
也是如此。您将使用 findViewById()
从展开的布局中检索 RecyclerView
。
现在,欢迎您创建自己的 RecyclerViewActivity
和 RecyclerViewFragment
,如果您愿意,可以扩展它们。例如,您可以有一个像这样的 RecyclerViewActivity
:
/***
Copyright (c) 2008-2015 CommonsWare, LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required
by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied. See the License for the specific
language governing permissions and limitations under the License.
From _The Busy Coder's Guide to Android Development_
https://commonsware.com/Android
*/
package com.commonsware.android.recyclerview.simplelist;
import android.app.Activity;
import android.support.v7.widget.RecyclerView;
public class RecyclerViewActivity extends Activity {
private RecyclerView rv=null;
public void setAdapter(RecyclerView.Adapter adapter) {
getRecyclerView().setAdapter(adapter);
}
public RecyclerView.Adapter getAdapter() {
return(getRecyclerView().getAdapter());
}
public void setLayoutManager(RecyclerView.LayoutManager mgr) {
getRecyclerView().setLayoutManager(mgr);
}
public RecyclerView getRecyclerView() {
if (rv==null) {
rv=new RecyclerView(this);
rv.setHasFixedSize(true);
setContentView(rv);
}
return(rv);
}
}
在这里,你可以使用getRecyclerView()
,RecyclerViewActivity
会为你创建RecyclerView
实例,并将其设置为 Activity 。在我的例子中,RecyclerViewActivity
继承自 Activity
,将其更改为继承自 AppCompatActivity
是向基类添加 9 个字符的问题(Activity
--> AppCompatActivity
).
关于java - 使用 RecyclerView 时的 getListView() 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920351/
我创建了一个 ListView 来列出所有 Activity ,但是当我想调用该方法时,我找不到 getListView 我的activity_fragment.xml
我正在使用ListPopupWindow: @NonNull private ListPopupWindow createListPopupWindow() { ListPopupWindow
我在我的应用程序中使用了一个 ListFragment,我想使列表中的每个项目都有一个 OnItemClick 监听器,但是当我添加 ListView lv = getListView(); 时,我得
我正在开发一个示例应用程序来学习 android。它应该显示一个多选列表,当用户单击按钮时,它应该显示在顶部的 TextView 中选择的项目。似乎当我尝试从 ListView 中检索选定的项目时,总
我的 Android 应用程序一直有问题,在选项卡之间滑动时它崩溃并出现以下错误: 09-16 16:19:27.142 4750-4750/com.khackett.runmate E/And
在ListActivity中可以使用this.getListView().addFooterView(footerView); 但是如果我使用 Activity 它不能使用 this.getListV
我正在我的应用中实现 Material Design,并将 ListView 转换为 RecyclerView。我一直在关注使用方法 getListView() 的教程,但是当我使用 AppCompa
我在 ListFragment 的 OnActivityCreated() 中调用了 getListView()。它工作正常,但如果我旋转设备屏幕并再次调用 getListView(),它会返回 nu
当我尝试使用标题中列出的任一方法(getListView() 和 setListAdapter())时,我收到一条错误消息,指出这些方法无法解析。 这是我的代码: public void onRes
我有一个包含 5000 个项目的 ListView 。我想在某个位置获取 listview 的项目并对其进行处理,我调用 getListView().getChildAt(1) 方法,它返回 null
我有一个 ListFragment,我想定期更新它。更新过程本身非常复杂,可能需要一些时间。这就是为什么我创建了一个线程,在上一次更新完成后 5 秒执行新的更新。然后我创建一个处理程序来更新列表,同时
我已经尝试寻找解决方案,但没有找到符合我的情况的任何解决方案。我有一个扩展 FragmentActivity 的 MainActivity 和多个 ListFragment。我将 PagerSlidi
我是一名优秀的程序员,十分优秀!