我有一个可以正常工作的平板电脑应用程序,现在我也在尝试在手机上工作。在一个表上,屏幕上有两个片段,一个列表片段和一个详细信息片段。在电话上时,列表片段会出现,并在按下列表项时创建一个新活动。此活动仅在onCreate()方法中创建片段并将其提交到屏幕,如下所示。
// Place an DeallDetailsFragment as our content pane
DealDetailsFragment f = new DealDetailsFragment();
getFragmentManager().beginTransaction().add(android.R.id.content, f).commit();
getFragmentManager().executePendingTransactions();
这正在按预期工作,但是从此活动中,我需要告诉片段要加载和显示的详细信息。在我的DealDetailsFragment类中,我有一个updateDeal()更新内容的方法,如下所示。
if (deal==null) { // could be null if user presses the loading deals list item before it loads
return;
}
this.deal=deal;
if (dealTitle==null) { // get the view objects only once
holder = new ViewHolder();
holder.dealHeat=(TextView) getView().findViewById(R.id.dealDetails_heat_textView);
holder.dealPrice=(TextView) getView().findViewById(R.id.dealDetails_price_textView);
holder.dealRetailer=(TextView) getView().findViewById(R.id.dealDetails_retailer_textView);
holder.dealTitle=(TextView) getView().findViewById(R.id.dealDetails_title_textView);
holder.dealDesc=(TextView) getView().findViewById(R.id.dealDetails_desc_textView);
holder.goToButton= (LinearLayout) getView().findViewById(R.id.dealDetails_goToDeal);
holder.dealImage=(ImageView) getView().findViewById(R.id.dealDetails_imageView);
holder.postedBy=(TextView) getView().findViewById(R.id.dealDetails_poster_textView);
holder.datePosted=(TextView) getView().findViewById(R.id.dealDetails_date_textView);
getView() 当应用程序在仅显示单个片段的电话上运行时,返回null。
有任何想法吗?不幸的是,在线上没有很多片段示例。
不负相思意
翻阅古今
相关分类