gpt4 book ai didi

Android:使用 ArrayAdapter 在 ListFragment 中使用不同的布局

转载 作者:行者123 更新时间:2023-11-30 03:04:53 25 4
gpt4 key购买 nike

大家好,感谢您阅读我的问题!

我目前正在开发具有以下层次结构的 Android 应用程序:一FragmentActivity除以三ListFragments .其中之一ListFragments使用自定义 ArrayAdapter显示 List<>ListView 上使用 xml 模板这List<>充满了给定 id 的数据集。 id 小于 10 的数据集被标记为“重要”,其他数据集被标记为“不太重要”

这就是我要找的:我有两个布局模板,我想用一种布局显示“重要”的数据集,用另一种布局显示“不太重要”的数据集。

我已经搜索了很长时间了,但似乎以前没有人问过这样的问题。我尝试使用第二个 ListView并应用第二个自定义 ArrayAdapter在上面,但不幸的是,有一个限制:因为我正在使用 ListFragment , 我被迫使用 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);
}
});
}

这是我传递给我的 xml 文件 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 的 xml 布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main_Activity$search_page" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main_Activity$search_page" >
<ListView
android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="0dp"
android:divider="@null">
</ListView>
</RelativeLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main_Activity$search_page" >

<ListView
android:id="@+id/android:list2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@null"
android:dividerHeight="0dp" >
</ListView>
</RelativeLayout>

</RelativeLayout>

最佳答案

你不应该给 ListView 这样的 ID :android:id="@+id/android:list2",你的 的 ID ListView 应该是

<ListView android:id="@id/android:list"   
...... ></ListView>

<ListView android:id="@+id/sampleList"   
...... ></ListView>

关于Android:使用 ArrayAdapter 在 ListFragment 中使用不同的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21973009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com