Android 在可展开列表视图中获取子名称而不是位置id
我将按照教程实现一个可扩展的列表视图。现在我的问题是,如何更改以下方法以获取子名称而不是子位置idAndroid 在可展开列表视图中获取子名称而不是位置id,android,expandablelistview,Android,Expandablelistview,我将按照教程实现一个可扩展的列表视图。现在我的问题是,如何更改以下方法以获取子名称而不是子位置id // Call when child row clicked @Override public long getChildId(int groupPosition, int childPosition) { /****** When Child row clicked then this function call *******/
// Call when child row clicked
@Override
public long getChildId(int groupPosition, int childPosition) {
/****** When Child row clicked then this function call *******/
// Log.i("Noise",
// "parent == "+groupPosition+"= child : =="+childPosition);
if (ChildClickStatus != childPosition) {
ChildClickStatus = childPosition;
Toast.makeText(
getApplicationContext(),
"Parent :" + groupPosition + " Child :" + childPosition,
Toast.LENGTH_LONG).show();
}
return childPosition;
}
我已经试了两个小时来完成这项工作。把它当作孩子,把声明放在这里
getChildId(int groupPosition, int childPosition) {
final Child child = parent.getChildren().get(childPosition);
//The rest of your method...
}
对不起,我是初学者,我不知道你所说的定义孩子的名字到底是什么意思。我在toast部分插入了final Child=new Child();然后是“Child:+Child.getName()。但结果是空的
Child-Child=new-Child()
您希望它做什么?当然可以从这个类调用定义的方法getName,但是这个新创建的实例不太可能在其成员中包含任何类型的数据。它已经在教程提供的代码中;)在getChildView方法中。是的,刚才看到了:D…无论如何,谢谢你的提示。我刚刚遇到了另一个问题。当活动开始时,我展开一个父项,然后首先在toast消息中依次显示所有子项。我怎样才能避免这种情况,而祝酒词只能在我点击一个孩子时显示?可能是因为父母有一个孩子,而这个孩子本身就是父母。因此,第二个父对象调用其所有子对象。尝试在您认为toast来自的行上设置一个断点,并调试代码,然后您应该走上正确的轨道。