public static final String KEY_WEIBO_INFO_LIST = "KEY_WEIBO_INFO_LIST";
public static final String KEY_SELECTED_WEIBO_INDEX = "KEY_WEIBO_INFO_LIST";
it works like a dictionary. You can not have duplicate keys. That's why you are getting the int, because here
intent.putParcelableArrayListExtra(WeiboBrowseActivity.KEY_WEIBO_INFO_LIST, weiboInfoList);
intent.putExtra(WeiboBrowseActivity.KEY_SELECTED_WEIBO_INDEX, arg2);
the latter is overriding the former. Change it in
public static final String KEY_WEIBO_INFO_LIST = "KEY_WEIBO_INFO_LIST";
public static final String KEY_SELECTED_WEIBO_INDEX = "KEY_SELECTED_WEIBO_INDEX";