我有一个使用ActionBarSherlock的应用程序:
我想在导航抽屉中放置部分,就像在这张图片上一样:
标题是从字符串数组生成的。我怎样才能做到这一点?提前谢谢。
我的java:
public class MenuListAdapter extends BaseAdapter {
// Declare Variables
Context context;
String[] mTitle;
String[] mSubTitle;
LayoutInflater inflater;
public MenuListAdapter(Context context, String[] title, String[] subtitle)
{
this.context = context;
this.mTitle = title;
this.mSubTitle = subtitle;
}
@Override
public int getCount() {
return mTitle.length;
}
@Override
public Object getItem(int position) {
return mTitle[position];
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint("ViewHolder") public View getView(int position, View convertView, ViewGroup parent) {
// Declare Variables
TextView txtTitle;
TextView txtSubTitle;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.drawer_list_item, parent,
false);
// Locate the TextViews in drawer_list_item.xml
txtTitle = (TextView) itemView.findViewById(R.id.title);
txtSubTitle = (TextView) itemView.findViewById(R.id.subtitle);
// Set the results into TextViews
String[] title = context.getResources().getStringArray(R.array.title);
String[] subtitle = context.getResources().getStringArray(R.array.subtitle);
txtTitle.setText(title[position]);
txtSubTitle.setText(subtitle[position]);
return itemView;
}
}
答案 0 :(得分:0)
哇,actionbarsherlock。我建议摆脱它,因为它真的不再相关了。
您可能需要在适配器中定义两个项类型,一个用于标题,一个用于实际可点击项。
http://developer.android.com/reference/android/widget/BaseAdapter.html#getItemViewType(int)
http://developer.android.com/reference/android/widget/BaseAdapter.html#getViewTypeCount()
是您需要实施的两种方法。在getView()中,您可以区分需要扩展的布局。
另外:不要每次都充气。如果convertView
不为null,则可以使用它。
我建议您观看此视频:https://www.youtube.com/watch?v=wDBM6wVEO70
任何Android开发都必不可少。