我已经创造了 可扩展列表视图 当你运行该应用程序时,首先显示的是ImageView。
但现在我用ImageView创建了另一个活动,作为应用程序的主页面。我不想让 可扩展列表视图 在点击ImageView后才显示。我怎样才能做到这一点?
下面是代码。
public class MainActivity extends AppCompatActivity {
ExpandableListViewAdapter listViewAdapter;
ExpandableListView expandableListView;
List<String> chapterList;
HashMap<String, List<String>> topicList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
expandableListView = findViewById(R.id.eListView);
showList();
listViewAdapter = new ExpandableListViewAdapter(this, chapterList, topicList);
expandableListView.setAdapter(listViewAdapter);
}
private void showList() {
chapterList = new ArrayList<String>();
topicList = new HashMap<String, List<String>>();
chapterList.add("Chapter 1");
chapterList.add("Chapter 2");
chapterList.add("Chapter 3");
chapterList.add("Chapter 4");
chapterList.add("Chapter 5");
List<String> topic1 = new ArrayList<>();
topic1.add("Topic 1");
topic1.add("Topic 2");
topic1.add("Topic 3");
List<String> topic2 = new ArrayList<>();
topic2.add("Topic 1");
topic2.add("Topic 2");
topic2.add("Topic 3");
List<String> topic3 = new ArrayList<>();
topic3.add("Topic 1");
topic3.add("Topic 2");
topic3.add("Topic 3");
List<String> topic4 = new ArrayList<>();
topic4.add("Topic 1");
topic4.add("Topic 2");
topic4.add("Topic 3");
List<String> topic5 = new ArrayList<>();
topic5.add("Topic 1");
topic5.add("Topic 2");
topic5.add("Topic 3");
topicList.put(chapterList.get(0),topic1);
topicList.put(chapterList.get(1),topic2);
topicList.put(chapterList.get(2),topic3);
topicList.put(chapterList.get(3),topic4);
topicList.put(chapterList.get(4),topic5);
}
}
你需要从onCreate-Method中删除showList()。取而代之的是,通过id找到你的ImageView,使用 ImageView yourImageView = findViewById(R.id.your_image_view)
. 然后添加一个OnClickListener到你的ImageView中,它将调用 showList()
-这样的方法。
yourImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showList();
}
});