- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
项目运行正常,案例 3 子级单击“确定”,但如果案例 2 单击,它会显示案例 3 中的 Activity 或我之前删除它的 Activity ,然后返回时它会显示我想要的 Activity (当我单击微生物学时,它显示 child dentry 学,然后返回时单击它显示微生物学)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
import android.widget.ExpandableListView.OnGroupCollapseListener;
import android.widget.ExpandableListView.OnGroupExpandListener;
import android.widget.Toast;
import com.freedental.blogspot.R;
public class MainActivity extends Activity {
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
List<String> listDataHeader;
HashMap<String, List<String>> listDataChild;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// get the listview
expListView = (ExpandableListView) findViewById(R.id.lvExp);
// preparing list data
prepareListData();
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
// Listview Group click listener
expListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// Toast.makeText(getApplicationContext(),
// "Group Clicked " + listDataHeader.get(groupPosition),
// Toast.LENGTH_SHORT).show();
return false;
}
});
// Listview Group expanded listener
expListView.setOnGroupExpandListener(new OnGroupExpandListener() {
@Override
public void onGroupExpand(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Expanded",
Toast.LENGTH_SHORT).show();
}
});
// Listview Group collasped listener
expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {
@Override
public void onGroupCollapse(int groupPosition) {
Toast.makeText(getApplicationContext(),
listDataHeader.get(groupPosition) + " Collapsed",
Toast.LENGTH_SHORT).show();
}
});
// Listview on child click listener
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
switch(groupPosition) {
case 1:
switch (childPosition) {
case 0:
Intent c1= new Intent(MainActivity.this,Webv1Activity.class);
startActivity(c1);
break;
}
case 2:
switch (childPosition) {
case 0:
Intent d1= new Intent(MainActivity.this,Webv1Activity.class);
startActivity(d1);
break;
case 1:
Intent d2= new Intent(MainActivity.this,Webv2Activity.class);
startActivity(d2);
break;
case 2:
Intent d3= new Intent(MainActivity.this,Webv3Activity.class);
startActivity(d3);
break;
case 3:
Intent d4= new Intent(MainActivity.this,Webv4Activity.class);
startActivity(d4);
break;
case 4:
Intent d5= new Intent(MainActivity.this,Webv5Activity.class);
startActivity(d5);
break;
case 5:
Intent d6= new Intent(MainActivity.this,Webv6Activity.class);
startActivity(d6);
break;
case 6:
Intent d7= new Intent(MainActivity.this,Webv7Activity.class);
startActivity(d7);
break;
case 7:
Intent d8= new Intent(MainActivity.this,Webv8Activity.class);
startActivity(d8);
break;
}
case 3:
switch (childPosition) {
case 0:
Intent a1= new Intent(MainActivity.this,Webv9Activity.class);
startActivity(a1);
break;
case 1:
Intent a2= new Intent(MainActivity.this,Webv10Activity.class);
startActivity(a2);
break;
case 2:
Intent a3= new Intent(MainActivity.this,Webv11Activity.class);
startActivity(a3);
break;
case 3:
Intent a4= new Intent(MainActivity.this,Webv12Activity.class);
startActivity(a4);
break;
case 4:
Intent a5= new Intent(MainActivity.this,Webv13Activity.class);
startActivity(a5);
break;
case 5:
Intent a6= new Intent(MainActivity.this,Webv14Activity.class);
startActivity(a6);
break;
case 6:
Intent a7= new Intent(MainActivity.this,Webv15Activity.class);
startActivity(a7);
break;
case 7:
Intent a8= new Intent(MainActivity.this,Webv16Activity.class);
startActivity(a8);
break;
}
}
return false;
}
});
}
/*
* Preparing the list data
*/
private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
// Adding child data
listDataHeader.add("1st Grade lectures");
listDataHeader.add("2nd Grade lectures");
listDataHeader.add("3rd Grade lectures");
listDataHeader.add("4th Grade lectures");
listDataHeader.add("5th Grade lectures");
// Adding child data
List<String> first = new ArrayList<String>();
first.add("Under Construction");
List<String> second = new ArrayList<String>();
second.add("Prosthodontics");
second.add("Other under con");
List<String> third = new ArrayList<String>();
third.add("Microbiology");
third.add("Pathology");
third.add("Pharmacology");
third.add("Surgery");
third.add("Operative");
third.add("Prosthodontics");
third.add("Radiology");
third.add("Cummunity");
List<String> fourth = new ArrayList<String>();
fourth.add("periodontology");
fourth.add("pedodontics");
fourth.add("Orthodontics");
fourth.add("Prosthodontics");
fourth.add("Oral Pathology");
fourth.add("Oral Surgery");
fourth.add("General Surgery");
fourth.add("General Medicine");
List<String> fifth = new ArrayList<String>();
fifth.add("Under Construction");
listDataChild.put(listDataHeader.get(0), first); // Header, Child data
listDataChild.put(listDataHeader.get(1), second);
listDataChild.put(listDataHeader.get(2), third);
listDataChild.put(listDataHeader.get(3), fourth);
listDataChild.put(listDataHeader.get(4), fifth);
}
}
最佳答案
您在 case 1
和 case 2
之后缺少 break
语句:
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
switch(groupPosition) {
case 1:
switch (childPosition) {
case 0:
Intent c1= new Intent(MainActivity.this,Webv1Activity.class);
startActivity(c1);
break;
}
=======>>>>> break;
case 2:
switch (childPosition) {
case 0:
Intent d1= new Intent(MainActivity.this,Webv1Activity.class);
startActivity(d1);
break;
case 1:
Intent d2= new Intent(MainActivity.this,Webv2Activity.class);
startActivity(d2);
break;
case 2:
Intent d3= new Intent(MainActivity.this,Webv3Activity.class);
startActivity(d3);
break;
case 3:
Intent d4= new Intent(MainActivity.this,Webv4Activity.class);
startActivity(d4);
break;
case 4:
Intent d5= new Intent(MainActivity.this,Webv5Activity.class);
startActivity(d5);
break;
case 5:
Intent d6= new Intent(MainActivity.this,Webv6Activity.class);
startActivity(d6);
break;
case 6:
Intent d7= new Intent(MainActivity.this,Webv7Activity.class);
startActivity(d7);
break;
case 7:
Intent d8= new Intent(MainActivity.this,Webv8Activity.class);
startActivity(d8);
break;
}
==========>>>>> break;
case 3:
switch (childPosition) {
case 0:
Intent a1= new Intent(MainActivity.this,Webv9Activity.class);
startActivity(a1);
break;
case 1:
Intent a2= new Intent(MainActivity.this,Webv10Activity.class);
startActivity(a2);
break;
case 2:
Intent a3= new Intent(MainActivity.this,Webv11Activity.class);
startActivity(a3);
break;
case 3:
Intent a4= new Intent(MainActivity.this,Webv12Activity.class);
startActivity(a4);
break;
case 4:
Intent a5= new Intent(MainActivity.this,Webv13Activity.class);
startActivity(a5);
break;
case 5:
Intent a6= new Intent(MainActivity.this,Webv14Activity.class);
startActivity(a6);
break;
case 6:
Intent a7= new Intent(MainActivity.this,Webv15Activity.class);
startActivity(a7);
break;
case 7:
Intent a8= new Intent(MainActivity.this,Webv16Activity.class);
startActivity(a8);
break;
}
}
return false;
}
});
关于java - onchildclick 案例声明 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063904/
项目运行正常,案例 3 子级单击“确定”,但如果案例 2 单击,它会显示案例 3 中的 Activity 或我之前删除它的 Activity ,然后返回时它会显示我想要的 Activity (当我单击
你好,我已经通过一个例子成功地在我的应用程序中制作了一个可扩展的 ListView ,但我真的不明白我是如何成功地获得用户点击的正确索引的,我的意思是,我真的不明白了解 childData 中的内容以
我有一个 ExpandableListView查看并实现 OnChildClickListener ,但我需要得到那个 child 的组,更具体地说 - 文本保留为该组的标签。 我该怎么做? 我应该实
我不知道为什么我的 ExpandableListView 的 onChildClick 不起作用。但是 onGroupClick 可以正常工作。 这是我的 fileExpandableList.set
我已经阅读了很多与我遇到的问题相同的线程,但我无法弄清楚发生了什么。我有一个可展开的 ListView ,但我无法使 onChildClickListener 工作。 onGroupClickList
我有一个 ExpandableListView,其中包含带有 CheckBox 和 TextView 的行列表。 我已经通过将复选框可聚焦属性设置为 false 来设法使行可选择。我还在我的 Expa
我有一个可扩展的 ListView ,但是当我展开它并单击子项时,我收到一条错误消息 FATAL EXCEPTION: main Process: com.claritech.simsentinelm
我有一个应用程序使用 ExpandableListView 小部件,其中通过 BaseExpandableListAdapter 填充了项目。该应用程序是为 Android 1.6 版构建的,当我使用
目标: 我正在尝试创建一个每行有 2 个复选框的 UI,每行都分成几个部分。我在下面附上了 UI 的屏幕截图。 当前方法:我正在使用 ExpandableListView 并使用 onChildCli
在 GridView 或简单的 ListView 中,我使用这段代码将一个对象传递给一个新的 Activity ,它工作得很好: gridView.setOnItemClickListener(new
在可扩展 ListView 中搜索后,我的 onClick 出现问题。当我搜索时,我得到了正确的结果,但是当我单独单击这些值时,我得到了不同的结果?请帮忙 我过滤搜索数据的方法 public void
我有一个 Activity 和两个 fragment - Fragment1 和 Fragment2。当应用程序启动时,Fragment1 附加到我的 Activity ,此 fragment 由一个
嗨, friend 们,我正在使用可扩展 ListView ...... 我从数据库中获取值,它显示得很好,但是没有听众在其中工作下面是我的来源...... 主 Activity .java pack
我是一名优秀的程序员,十分优秀!