Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android getActivity().setTitle()从ArrayList中的错误对象获取字符串字段_Android_Arraylist - Fatal编程技术网

Android getActivity().setTitle()从ArrayList中的错误对象获取字符串字段

Android getActivity().setTitle()从ArrayList中的错误对象获取字符串字段,android,arraylist,Android,Arraylist,我希望将此片段活动中的标题栏设置为HelpItem的description字段 在第10行,我使用表示帮助项描述的字符串设置活动的标题 我没有在第9行获取检索到的帮助项的描述,而是获取下一个帮助项的描述 即,在包含五个HelpItem对象的ArrayList中,helpDescriptions为“aaa”、“bbb”、“ccc”、“ddd”、“eee”,单击列表中的“bbb” 列表显示“bbb”及其相关信息文本。标题设置为“ccc” 在第19行,对helpItem.getHelpDescript

我希望将此片段活动中的标题栏设置为HelpItem的description字段

在第10行,我使用表示帮助项描述的字符串设置活动的标题

我没有在第9行获取检索到的帮助项的描述,而是获取下一个帮助项的描述

即,在包含五个HelpItem对象的ArrayList中,helpDescriptions为“aaa”、“bbb”、“ccc”、“ddd”、“eee”,单击列表中的“bbb” 列表显示“bbb”及其相关信息文本。标题设置为“ccc”

在第19行,对
helpItem.getHelpDescription()
的相同调用返回“bbb”对象的描述字段

当通过ViewPager在列表中移动时,列表中的下一个对象具有相同的问题,直到我到达列表的末尾

此时将显示正确的helpDescription字段。我还可以移回列表的开头,它将显示正确的

helpDescription,但当我再次在列表中前后移动时,它将丢失

知道为什么会这样吗?谢谢

 public class HelpFragment extends Fragment {

 private HelpItem helpItem;
 private TextView mHelpDetails;

 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    UUID helpItemId = (UUID) getArguments().getSerializable(EXTRA_HELP_ITEM_ID);
    helpItem = HelpList.get(getActivity()).getHelpItem(helpItemId);
    getActivity().setTitle(helpItem.getHelpDescription());
 }

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
    View userView = inflater.inflate(R.layout.fragment_help_item, parent, false);

    mHelpDetails = (TextView) userView.findViewById(R.id.help_details);
    String displayInfo = "";

    if ((helpItem.getHelpDescription() != null) && 
        (helpItem.getHelpInformation() != null)) {

            displayInfo = helpItem.getHelpDescription() + "\n\n\n" + 
                          helpItem.getHelpInformation();
            mHelpDetails.setText(displayInfo);

            Log.d(TAG, "3 " + helpItem.getHelpDescription() + " " 
                            + helpItem.getHelpInformation());
    }

    return userView;

    }
 }

公共类HelpListItemPageActivity扩展了FragmentActivity{
私有视图寻呼机mViewPager;
私人ArrayList mHelpList;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mViewPager=新的ViewPager(此);
mViewPager.setId(R.id.viewPager);
setContentView(mViewPager);
mHelpList=HelpList.get(this.getHelpList();
FragmentManager fragManager=getSupportFragmentManager();
mViewPager.setAdapter(新FragmentStatePagerAdapter(fragManager){
@凌驾
public int getCount(){
返回mHelpList.size();
}
@凌驾
公共片段getItem(int位置){
HelpItem hItem=mHelpList.get(位置);
返回HelpFragment.newInstance(hItem.getId());
}
});
UUID helpItemId=(UUID)getIntent().getSerializableExtra(HelpFragment.EXTRA_HELP_ITEM_ID);
对于(int i=0;i
你应该发布相关的类和方法。不要把整个代码放进去,只要把相关的代码放进去就行了。
public class HelpItem {

private UUID mId;
private String helpDescription;
private String helpInformation;

public HelpItem(String hDesc, String hInfo) {
    mId = UUID.randomUUID();        
    helpDescription = hDesc;
    helpInformation = hInfo;
}

public UUID getId() {
    return mId;
}

public void setId(UUID id) {
    mId = id;
}

@Override
public String toString() {
    return helpDescription;
}

public String getHelpDescription() {
    return helpDescription;
}

public void setHelpDescription(String hDescription) {
    this.helpDescription = hDescription;
}

public String getHelpInformation() {
    return helpInformation;
}

public void setHelpInformation(String hInformation) {
    this.helpInformation = hInformation;
}

}
public class HelpListItemPagerActivity extends FragmentActivity {

private ViewPager mViewPager;
private ArrayList<HelpItem> mHelpList;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mViewPager = new ViewPager(this);
    mViewPager.setId(R.id.viewPager);
    setContentView(mViewPager);

    mHelpList = HelpList.get(this).getHelpList();

    FragmentManager fragManager = getSupportFragmentManager();

    mViewPager.setAdapter(new FragmentStatePagerAdapter(fragManager) {
        @Override           
        public int getCount() {
            return mHelpList.size();
        }
        @Override
        public Fragment getItem(int position) {
            HelpItem hItem = mHelpList.get(position);
            return HelpFragment.newInstance(hItem.getId());
        }
    });

    UUID helpItemId = (UUID)getIntent().getSerializableExtra(HelpFragment.EXTRA_HELP_ITEM_ID);

    for (int i = 0; i < mHelpList.size(); i++) {
        if (mHelpList.get(i).getId().equals(helpItemId)) {
            mViewPager.setCurrentItem(i);
            break;
        }
    }
}
}