- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我一直在做一个 android 项目,但遇到了一个问题。我用谷歌搜索但没有找到答案。在我的项目中,有一个名为 viewsurahfragment
的 fragment ,它包含一个 id 为 lv_showquran
的 ListView 。
我想在指定索引处突出显示 ListView 的 View 。我正在使用 listview.getchildat() 但它返回 null
值。
这是 viewsurahfragment 的代码。发出不相关的函数。
public class ViewSurahFragment extends Fragment
{
private ListView listView;
private int currentSurah;
private String surahName;
private DatabaseHelper databaseHelper;
private ArrayAdapter<String> arrayAdapter;
@Override
public void onViewCreated(View view, Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
// this.listView = (ListView) getActivity().findViewById(R.id.lv_showQuran);
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
this.listView = (ListView) getActivity().findViewById(R.id.lv_showQuran);
}
private void displayAyas()
{
String[] values = this.getSurahAyas();
this.listView.setItemsCanFocus(true);
this.arrayAdapter = new ArrayAdapter<>(this.getActivity().getApplicationContext(), R.layout.layout_surah_ayah, values);
this.listView.setAdapter(this.arrayAdapter);
this.listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
}
});
registerForContextMenu(this.listView);
}
public void highlightAyah(int ayahNum)
{
TextView view = (TextView) this.listView.getChildAt(ayahNum - 1);
Log.i("ViewSurahFragment", "List View Child Counts Are: " + this.listView.getChildCount());
if(view == null)
Log.i("ViewSurahFragment", "view is null");
}
}
不知道我是在 onactivitycreated
还是在 onviewcreated
中使用了以下代码行,它在 highlightayah 中调用 listview.getchildat() 时返回 null
函数。
this.listView = (ListView) getActivity().findViewById(R.id.lv_showQuran);
我也尝试了以下操作,但它对我也不起作用。
ListView view = (ListView) getActivity().findViewById(R.id.lv_showQuran);
TextView v = (TextView) view.getChildAt(ayahNum);
Log.i("ViewSurahFragment", "List View Child Counts Are: " + view.getChildCount());
if(v == null)
Log.i("ViewSurahFragment", "view is null");
但对我来说有趣的是,在我使用的任一解决方案中,getchildviewcount() 返回 0
,但项目显示在 ListView 中。
谁能告诉我哪里做错了。
在此先感谢您的帮助。
最佳答案
这会产生空值:
TextView textView = (TextView) listView.getChildAt(0);
Log.i("item", textView.getText().toString());
这不是:
TextView textView = (TextView) listView.getAdapter().getView(0, null, listView);
Log.i("item", textView.getText().toString());
此示例使用了 android.R.layout.simple_list_item_1
,因此请记住 TextView 是 simple_list_item_1 中的 Root View 。
关于android - ListView getChildAt() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206674/
我对 Android 中的 Gridview 有疑问。 上下文:我有一个 gridview,其中包含下载的图像列表(大约 100 张图像)。 为了更方便用户,加载第一个 gridview,里面有 10
我的代码 public class Products extends AppCompatActivity { protected void onCreate(Bundle savedInsta
我在 onCreateView 的 fragment 中设置了一个 gridview 来显示星期几,如下所示: weekGridView = (GridView)view.findViewById(R
这个问题在这里已经有了答案: Get all child views inside LinearLayout at once (6 个答案) 关闭 5 年前。 LinearLayout getChi
本文整理了Java中android.widget.ZoomControls.getChildAt()方法的一些代码示例,展示了ZoomControls.getChildAt()的具体用法。这些代码示例
我有一个带有全屏图片的 ListView 。 (就像一个垂直的画廊)。我的问题是我想重写 listviews onTouchEvent 以便它一次只更改一张图片,这样在滚动后(当没有发生滑动时),所选
嗨,我有一个可扩展的 ListView ,当我增加扩展它时它会滚动。然后我尝试检索所有的 child ,但它给了我当前在屏幕上的 child 。我怎样才能得到不在屏幕上的 child 。 http:/
我实际上尝试了一些非常简单的事情,但是 android 和 java 让我的生活变得不那么容易。这个想法是滚动到表格布局中的指定子项。 我正在使用 Layoutinflater 将条目添加到表格布局中
我想将图像添加到 ExpandableList 中的某些单元格中我已经搜索了我的问题的答案并尝试放置 expListView.getLastVisiblePosition(); expListView
我正在尝试从 GridView 获取 View 。不幸的是,它返回 null。 onCreate(): GridView gridview = (GridView) findViewById(R.id
我一直在做一个 android 项目,但遇到了一个问题。我用谷歌搜索但没有找到答案。在我的项目中,有一个名为 viewsurahfragment 的 fragment ,它包含一个 id 为 lv_s
获取层次结构中的 View 我可以使用这两个函数。同时findViewById更易于使用,但我经常看到有人建议它可能是一项昂贵的操作,应尽可能避免。 因此,使用 getChildAt 会更快吗?反而?
我有一个包含大量元素的 ListView ,我已将中间元素设置在屏幕中间(mRootLayoutHeight 是屏幕的高度) listview.setSelectionFromTop(adapter
我有一个从自定义相机 Activity 中拍摄的图像网格。在其他 Activity 中,我将图像加载到网格中。我有一种方法可以打开和关闭每个图像上的复选框。在尝试浏览所有图像时,我遇到了一些奇怪的行为
我在 ExpandableListView 中使用 GridView 我有一个功能可以在点击时突出显示一个项目,现在我正在尝试实现一个按钮,当按下它时它将取消选择所有选定的项目,但它只取消选择最后一次
我从ArrayList(listaprac)填充Spinner(SpinnerPrac)。 Spinner 工作正常,但我想为最后一个元素setTextColor。 这是我的适配器 ArrayAda
我在我的一个 fragment 中使用了 Spinner。当我从 backstack 转到这个 fragment (使用后退按钮)时,它给了我一个 NullPointerException。 代码如下
我有一个带有自定义适配器的 ListView,我需要访问此 ListView 的各个行的 View 。我正在尝试使用 getChildAt() 执行此操作,但它返回 null。 这是我的 ListVi
我在我的应用程序中实现了 Recyclerview,我需要在其项目上单击更新另一个 ListView ,这就是我在 Activity 中实现 onClick 事件的原因。它工作正常。 但我还需要高亮
我正在尝试在 Gallery View 上创建预览效果,但遇到了 Gallery.getChildAt(int position) 的问题,它大部分时间都返回 null。它应该仅在未显示子项时返回 n
我是一名优秀的程序员,十分优秀!