【发布时间】:2018-05-01 14:43:30
【问题描述】:
我一直在 Internet 上搜索我的问题的解决方案。我需要写一些带有标题的文字。标题应该是粗体的。我在网上找到的是如何将整个字符串写成粗体。
例如
第 1 步:打开 Android Studio
第 2 步: ....
在 Android 中是如何做到的?可以完成吗,还是我必须拆分字符串,例如标题应该是一个单独的字符串。
我在 Android 上尝试过 HTML 标签,但我得到了 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
这是我在 Android 中尝试过的
String[] text = new String[2];
text[0] = "<b>" + "Den første bøn er middagsbønnen" + "</b>" + "Den anden bøn er eftermiddagsbønnen"
tvTitle.setText(Html.fromHtml(text[mPage])); //This line triggers the exception
mPage 只是选项卡的页面,因为我只希望文本出现在一个选项卡中。
编辑:
我的班级
public class PageFragment_Bontider extends Fragment{
public static final String ARG_PAGE = "ARG_PAGE";
private int mPage;
public static PageFragment_Bontider newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
PageFragment_Bontider fragment = new PageFragment_Bontider ();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPage = getArguments().getInt(ARG_PAGE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_bontider, container, false);
TextView tvTitle = (TextView) view.findViewById(R.id.bonner);
ImageView bontider = (ImageView) view.findViewById(R.id.imageView);
String[] text = new String[2];
text[1] = "Iblandt forpligtelserne for enhver ansvarlig (mukallaf) er udførelse af de fem " +
"bønner i løbet af dagen og natten. Eftersom kendskabet til disse bøntider er en " +
"pligt for enhver ansvarlig, gøres der rede for dem i det følgende:\n\n" +
"Den første bøn er middagsbønnen (Adh-Dhuhr), hvis tid indtræder, når solen aftager " +
"fra sit højeste punkt på himlen (midten af himlen) mod vest, og udtræder når skyggen" +
" af en tilfældig genstand bliver lige så lang som en genstands egen længde adderet " +
"med længden af kulminationsskyggen. Kulminationsskyggen er den målte skygge, når " +
"solen er ved sit højeste punkt i løbet af en dag.\n\n" +
"Den anden bøn er eftermiddagsbønnen (Al-^asr), hvis tid varer fra middagsbønnens " +
"udtrædelse til solnedgang (når hele solskiven er forsvundet).\n\n" +
"Den tredje bøn er solnedgangsbønnen (Al-Maghrib), hvis tid indtræder fra " +
"eftermiddagsbønnens udtrædelse, og udtræder når det rødlige skumringslys " +
"(svagt lys der dukker op i den vestlige horisont efter solnedgang) er forsvundet.\n\n" +
"Den fjerde bøn er natbønnen (Al-^Ishaa´), hvis tid indtræder ved solnedgangsbønnens " +
"udtrædelse, og udtræder ved frembrudet af det sande daggry (Al-Fadjir As-Saadiq), " +
"hvilket er det vandrette lys, der viser sig i den østlige horisont, som et tyndt " +
"skær der dernæst udbreder sig.\n\n" +
"Den femte bøn er morgenbønnen (As-Subh), hvis tid indtræder ved natbønnens udtrædelse, " +
"og udtræder ved solopgang (Shuruuq).";
tvTitle.setText(text[mPage]);
int[] billede = new int[2];
billede[0] = R.drawable.bontider;
if(billede[mPage] != 0){
bontider.setVisibility(View.VISIBLE);
bontider.setImageResource(billede[mPage]);
tvTitle.setVisibility(View.GONE);
}
return view;
}
}
【问题讨论】:
-
您应该将此作为两个单独的问题提出,因为 Android 和 iOS 之间的解决方案将大不相同。
-
这需要是两个独立的问题。一个用于 Android/Java,另一个用于 iOS/Swift,因为它会有两个完全不同的答案,由不同的人解决。
-
还提供minimal reproducible example 并清楚地显示导致错误的行。听起来第一步是在考虑如何在 TextView 中使用 HTML 之前解决 NPE。
-
你可以尝试在最后一行使用
text[0]并告诉我结果吗? -
正如我之前所说,您需要展示一个最小的工作示例,以便我们为您提供帮助。您在此处显示的代码缺少几个变量声明。也没有类或方法。我们需要这些详细信息来理解您的代码,并能够在没有大量猜测工作的情况下为您指明正确的方向。
标签: java android text-formatting