Java 是否将ExpandaleListView放在使用操作栏创建的选项卡片段下?
我正在构建一个应用程序(一个目录) 我已经定制了本教程中的代码和示例。。。。。。。。。。。。 “” 但挑战是: 如何将可展开列表视图放入选项卡片段中: 即:Java 是否将ExpandaleListView放在使用操作栏创建的选项卡片段下?,java,android,android-fragments,Java,Android,Android Fragments,我正在构建一个应用程序(一个目录) 我已经定制了本教程中的代码和示例。。。。。。。。。。。。 “” 但挑战是: 如何将可展开列表视图放入选项卡片段中: 即: ExpanbableListView处于最高额定值 游戏中的ExpanbableListView 电影中的ExpanbableListView 我尝试了很多方法将代码放入这些类中(最高级别,或游戏,或电影) 但是我的TabsPagerAdapter类总是会出现以下错误: 类型不匹配:无法从顶级转换为片段 类型不匹配:无法从游戏转换为片
- ExpanbableListView处于最高额定值
- 游戏中的ExpanbableListView
- 电影中的ExpanbableListView
- 类型不匹配:无法从顶级转换为片段
- 类型不匹配:无法从游戏转换为片段
- 类型不匹配:无法从电影转换为片段
import com.example.uganda.R;
import android.app.ExpandableListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
public class Games extends ExpandableListActivity {
private static final String arrGroupElements[] = { "Football", "Rugby", "Cricket"};
/**
* strings for child elements
*/
private static final String arrChildElements[][] = {
{ "Premiership teams","Country teams", "2014 worldCup"},
{ "Europe competitions","African competitions"},
{ "International tests","Local tonerments"}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_games);
setListAdapter(new ExpandableListAdapter(this));
}
public class ExpandableListAdapter extends BaseExpandableListAdapter {
private Context myContext;
public ExpandableListAdapter(Context context) {
myContext = context;
}
@Override
public Object getChild(int groupPosition, int childPosition) {
return null;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return 0;
}
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) myContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(
R.layout.games_subitem_layout, null);
}
TextView yourSelection = (TextView) convertView
.findViewById(R.id.articleContentTextView);
yourSelection
.setText(arrChildElements[groupPosition][childPosition]);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
return arrChildElements[groupPosition].length;
}
@Override
public Object getGroup(int groupPosition) {
return null;
}
@Override
public int getGroupCount() {
return arrGroupElements.length;
}
@Override
public long getGroupId(int groupPosition) {
return 0;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) myContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(
R.layout.games_item_layout, null);
}
TextView groupName = (TextView) convertView
.findViewById(R.id.articleHeaderTextView);
groupName.setText(arrGroupElements[groupPosition]);
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
}
(这是产生错误的TabsPageAdapter代码)
公共类选项卡SpagerAdapter扩展了FragmentPagerAdapter{
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
// Top Rated activity
return new Private();
case 1:
// Games activity
return new Missionary();
case 2:
// Movies activity
return new Government();
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 3;
}
}在所有位置使用
导入android.support.v4.app.Fragment
或导入android.app.Fragment
。一定不要把这两种东西混在一起
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
switch (index) {
case 0:
// Top Rated activity
return new Private();
case 1:
// Games activity
return new Missionary();
case 2:
// Movies activity
return new Government();
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 3;
}