我有一个有几个片段的应用程序.
只有A片段有一个选项菜单.可以从片段B(其扩展了listfragment)启动片段.
所以B片段没有选项菜单,如果我从中选择一个项目,片段A将通过选项菜单启动,如果返回,片段B仍然没有选项菜单.
问题是,如果我从导航抽屉中选择"设置"菜单(扩展了首选项碎片),而当前窗口是片段A,则会显示设置片段,其中包含片段A中的选项菜单.但是,如果我在导航抽屉中选择"设置"菜单,而我当前窗口片段B,C,D(没有选项菜单)一切正常.
片段A:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_station, menu);
}
Run Code Online (Sandbox Code Playgroud)
设置片段:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
sharedPreferenceSettings = new SharedPreferenceSettings(getActivity());
addPreferencesFromResource(R.xml.settings);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_settings, container, false);
}
Run Code Online (Sandbox Code Playgroud)
问题出在哪儿?
编辑:
经过几个小时的调试,我找到了解决方案 问题是片段事务的fragmentManager不同.对于设置片段,我使用了getSupportFragmentManager(),对于其他人 - fragmentManager().这会导致一些碎片移动到后面的堆栈.
我正在使用一些分页器Fragments.
我想在列表中没有条目时显示一条消息(Fragment).
我试图用Textview同android:id="@id/android:empty,但它不工作.
自定义列表布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_medium" >
<TextView
android:id="@+id/label_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/padding_medium"
android:text="@string/label_value"
android:textColor="@android:color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/label_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/padding_medium"
android:text="@string/title_time"
android:textColor="@android:color/white"
android:textSize="16sp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
列表适配器类:
public class JournalAdapter extends ArrayAdapter<String> {
private final Context context;
private final List<String> values;
private final List<String> dates;
public JournalAdapter(Context context, List<String> values,
List<String> dates) {
super(context, R.layout.layout_journal_list, values);
this.context = context;
this.values = values; …Run Code Online (Sandbox Code Playgroud) 我正在使用iText java lib创建3列布局.
最大的问题是,第一列中的文本可能小于第二列中的文本,或者第二列中的文本小于第三列中的文本.所以我需要将插入点移动到下一列.
我试图使用nextColumn方法,它应该将插入点移动到下一列,但它将所有列移动到右侧.
也许有人有同样的问题,知道如何做对吗?
谢谢你的回答!
下图显示了我想要的内容.

更新:
好的,我会尝试重新解释这个问题.
以下是我如何声明3列的代码:
MultiColumnText columnsFooter = new MultiColumnText(210f);
columnsFooter.addRegularColumns(document.left() - 10f,
document.right(), 0, 3);
columnsFooter.setAlignment(Element.ALIGN_CENTER);
Run Code Online (Sandbox Code Playgroud)
我有3列标题,每列有一些文字.文本取决于用户今天输入的文本数量.如果用户填写文本限制是正常的,因为第一列已填充,第二列文本转到第二列(第二个文本从第二列开始).
但是如果用户没有填写第一列或第二列的文本限制,则下一个列开始从列中写入未完全填充的列.
即
这没关系,因为第一列和第二列已完全填满.

这很糟糕,因为第一列未完全填满,第二列文本从第一列开始.因此,我需要在HEADER 2和3之前添加列分隔符,以便在文本未完全填满时获得良好的布局结构.

我有一个包含3个子组件的主要组件.
主要组件HTML结构如下所示:
<div class="container-fluid">
<div class="row">
<reserved-parking></reserved-parking>
<available-parking></available-parking>
<profile></profile>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
例如,当用户从可用停车组件中选择停车时,应该将信息发送到预留停车组件.因此,我需要将JSON对象从可用停车传递到预留停车组件.
我试过用@Input,但没有运气.仅从父母到孩子,反之亦然.
提前致谢.