使用ActionBarSherlock导航抽屉部分

时间:2015-07-01 13:04:15

标签: android navigation-drawer

我有一个使用ActionBarSherlock的应用程序:

picture 1

我想在导航抽屉中放置部分,就像在这张图片上一样:

2nd picture

标题是从字符串数组生成的。我怎样才能做到这一点?提前谢谢。

我的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;
}

}

1 个答案:

答案 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开发都必不可少。