大家好,感谢您阅读我的问题!
我目前正在开发一款具有以下层次结构的Android应用:
一个FragmentActivity
除以三ListFragments
。
其中一个ListFragments
使用自定义ArrayAdapter
在List<>
上显示带有xml模板的ListView
这个List<>
填充了给出id的数据集。 id低于10的数据集标记为“重要”,其他数据集标记为“不太重要”
这就是我要找的: 我有两个布局模板,我想用一个布局显示“重要”数据集,用另一个布局显示“不那么重要”。
我已经搜索了很长一段时间,但看起来没有人问过这样的问题。
我尝试使用第二个ListView
并在其上应用第二个自定义ArrayAdapter
,但不幸的是,有一个限制:因为我使用ListFragment
,我被迫使用{ {1}}就像这样。
findViewById
当我尝试编写第二个自定义ListView list;
list = (ListView) rootView.findViewById(android.R.id.list);
时,它显示错误:
ArrayAdapter
以下是整个ListView list;
list_flat = (ListView) rootView.findViewById(android.R.id.list_flat);
ListFragment
}
这是我传递给我的 public class LeaguePage extends ListFragment{
Global global_var;
ListView list, list_flat;
List <League> leagues = null;
ListAdapter adapter = null;
View rootView;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.league_page, container, false);
return rootView;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onViewCreated(view, savedInstanceState);
list_flat = (ListView) rootView.findViewById(android.R.id.list_flat);
try {
leagues = Leagues_Parser.parse(getActivity().getAssets().open("league_raw.xml"));
} catch (IOException e) {
e.printStackTrace();
}
adapter = new LeagueAdapter (getActivity(), R.layout.list_row, leagues);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Global.selectedTeam = Integer.valueOf(leagues.get(arg2).getInternalID());
Global.mViewPager.setCurrentItem(1, true);
}
});
}
ArrayAdapter
这是 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/liga_flat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="25dip"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:paddingBottom ="10dip"
android:textColor="#040404"
android:textSize="25sp"
android:textStyle="normal"
android:typeface="serif" />
</RelativeLayout>
ListFragment
答案 0 :(得分:1)
您不应该提供ListView
这样的ID:android:id="@+id/android:list2"
,ListView
的ID应该是
<ListView android:id="@id/android:list"
...... ></ListView>
或
<ListView android:id="@+id/sampleList"
...... ></ListView>