gpt4 book ai didi

android - 如何在自定义适配器中使用 android.R.layout.simple_list_item_activated_1?

转载 作者:太空狗 更新时间:2023-10-29 14:09:41 25 4
gpt4 key购买 nike

我必须在 Android 中为我的 ListView 使用自定义适配器,因为我想为 ListViews 项目创建一个特殊的外观。

我的适配器目前看起来是这样的:

public class RecordingListAdapter extends BaseAdapter {

List<Recording> recordings;
Context context;

public RecordingListAdapter(Context context, List<Recording> recordings) {
this.context = context;
this.recordings = recordings;
}

@Override
public int getCount() {
return recordings.size();
}

@Override
public Object getItem(int position) {
return recordings.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.recorder_list_item, parent, false);
}

TextView title = (TextView) convertView.findViewById(R.id.recordingTitle);
TextView date = (TextView) convertView.findViewById(R.id.date);
TextView duration = (TextView) convertView.findViewById(R.id.duration);
TextView tags = (TextView) convertView.findViewById(R.id.tags);

Recording recording = recordings.get(position);

title.setText(recording.getTitle());
date.setText(context.getString(R.string.date) + ": " + new SimpleDateFormat("dd.MM.yyyy").format(recording.getDate().getTime()).toString());
duration.setText(context.getString(R.string.duration) + ": " + recording.getDuration().toString());
tags.setText(context.getString(R.string.tags) + ": " + recording.getTagsAsString());

return convertView;

}
}

在我的布局中,我已经在使用抽屉导航,它使用具有以下属性的 ArrayAdapter:

mDrawerListView.setAdapter(new ArrayAdapter<String>(
getActivity(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1,
mMenuEntries
));

我希望我的列表看起来像抽屉列表,尤其是选中的项目。

那么如何在我的自定义适配器中使用这个 android.R.layout.simple_list_item_activated_1?

谢谢!

最佳答案

好吧,我自己找到了答案:

查看 simple_list_item_activated_1.xml 我看到了:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/activatedBackgroundIndicator"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />

属性

android:background="?android:attr/activatedBackgroundIndicator"

很有趣。我将这个设置为自定义列表项的 RelativeLayout 中的一个属性,并最终获得了相同的样式。

此外:要设置列表中选中的第一项,请添加类似

的内容
mListView.setItemChecked(0, true);

到 onViewCreated 中的 ListFragment。

关于android - 如何在自定义适配器中使用 android.R.layout.simple_list_item_activated_1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071843/

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