5

如何在 Java 代码中将Branch Name:Branch No:Branch Phone No:Branch Timings:加粗和斜体?数据库数据应保持简单格式。这四个只是它们的标题。在这种(当前)情况下,它以简单格式打印/显示整个数据,并且用户在读取此数据时遇到问题。

String branchInfoString = "" ;

// fetching all the database data in a list
List<BranchInfo> dbDataList = _dbHandler.getAllInfo() ;

// getting that data into a string that will be displayed in TextView
for(BranchInfo aBranch : dbDataList ){

branchInfoString = branchInfoString + 

          "Branch Name: " + aBranch.getBranchName() + "\n" +
          "Branch No: " + aBranch.getBranchNo() + "\n" + 
          "Branch Phone No: " + aBranch.getBranchPhone() + "\n" + 
          "Branch Timings: " + aBranch.getBranchTiming() + "\n" + 

          "\n --------------------------------------- \n \n" ;  

}

// showing all the branch data in a text_view
setContentView(R.layout.db_branch_list) ;
TextView dbDataView = (TextView)findViewById(R.id.db_branch_list) ;
dbDataView.setText(branchInfoString) ;
4

5 回答 5

11

是的,您可以使用 HTML 标签装饰 TextView 中的文本。这不仅包括斜体和粗体,还包括字体颜色和其他一些东西。像这样的东西:

branchInfoHtmlString = branchInfoString + 

      "<b>Branch Name: " + aBranch.getBranchName() + "</b>\n" +
      "<i>Branch No: " + aBranch.getBranchNo() + "</i>\n" + 
      "<font >Branch Phone No: " + aBranch.getBranchPhone() + "</font>\n" + 
      "<font color="#FFDDDDDD">Branch Timings: " + aBranch.getBranchTiming() + "</font>\n" + 

      "\n --------------------------------------- \n \n" ;  

}

// showing all the branch data in a text_view
setContentView(R.layout.db_branch_list) ;
TextView dbDataView = (TextView)findViewById(R.id.db_branch_list) ;
dbDataView.setText(Html.fromHtml(branchInfoHtmlString)) ;

并非所有 HTML 标签都受支持,您可以在此处此处找到标签列表。

于 2013-01-30T05:15:09.943 回答
3

使用 HTML 内容来格式化您的文本,例如:

branchInfoString = branchInfoString + 

      "<b><i>Branch Name: </i></b>" + aBranch.getBranchName() + "\n" +
      "Branch No: " + aBranch.getBranchNo() + "\n" + 
      "Branch Phone No: " + aBranch.getBranchPhone() + "\n" + 
      "Branch Timings: " + aBranch.getBranchTiming() + "\n" + 

      "\n --------------------------------------- \n \n" ;

dbDataView.setText(Html.fromHtml(branchInfoString ));
于 2013-01-30T05:08:39.193 回答
0

您将必须创建一个包含多行的 tableView,这些行将在运行时添加。第一行将包含列标题。

前任。

<TableLayout android:id="@+id/class">
    <TableRow android:id="@+id/headers">
        <TextView android:id="@+id/branch_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:typeface="serif">
        <TextView android:id="@+id/branch_no"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:typeface="serif">
        <TextView android:id="@+id/branch_phone_no"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:typeface="serif">
        <TextView android:id="@+id/branch_timings"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:typeface="serif">
    </TableRow>
</TableLayout>

并将数据添加到该表中,在类中,您将添加如下内容:

TableLayout layout =     (TableLayout)LayoutInflater.from(canvas.getContext()).inflate(R.layout.class, null);

TableRow headerRow = (TableRow) layout.findViewById(R.id.header);
TextView branchName = (TextView) layout.findViewById(R.id.branch_name);
TextView branchNo = (TextView) layout.findViewById(R.id.branch_no);
TextView branchPhoneNo = (TextView) layout.findViewById(R.id.branch_phone_no);
TextView branchTimings = (TextView) layout.findViewById(R.id.branch_timings);

branchName.setText("Branch Name");
branchName.setTypeFace(null, Typeface.BOLD);

branchNo.setText("Branch No");
branchNo.setTypeFace(null, Typeface.BOLD);

branchPhoneNo.setText("Branch Phone No");
branchPhoneNo.setTypeFace(null, Typeface.BOLD);

branchTimings.setText("Branch Timimgs");
branchTimings.setTypeFace(null, Typeface.BOLD);


for (int i=0; i<noOfRows; i++) {
    TableRow dataset = new TableRow(context);
    TextView branchName = new TextView(context);
    TextView branchNo = new TextView(context);
    TextView branchPhoneNo = new TextView(context);
    TextView branchTimings = new TextView(context);

    branchName.setText("SampleBranchName" + i);
    branchNo.setText("SampleNumber" + i);
    branchPhoneNo.setText("SamplePhoneNumber" + i);
    branchTimings.setText("SampleTimings" + i);

    dataset.addView(branchName);
    dataset.addView(branchNo);
    dataset.addView(branchPhoneNo);
    dataset.addView(branchTimings);

    layout.addView(dataset);
}
于 2013-01-30T05:31:28.493 回答
0

您可以格式化您的字符串并将其设置在 textview

String some_string = Html.fromHtml(YourHTMLFromattedString)
dbDataView.setText(some_string);
于 2013-01-30T05:08:09.540 回答
0

使用Html.fromHtml(String source)和 HTML<b></b><i></i>标签以粗体和斜体显示一些文本

for(BranchInfo aBranch : dbDataList ){

branchInfoString = branchInfoString + 

          "<b><i>Branch Name: </i></b>" + aBranch.getBranchName() + "\n" +
          "<b><i>Branch No: </i></b>" + aBranch.getBranchNo() + "\n" + 
          "<b><i>Branch Phone No: </i></b>" + aBranch.getBranchPhone() + "\n" + 
          "<b><i>Branch Timings: </i></b> " + aBranch.getBranchTiming() + "\n" + 

          "\n --------------------------------------- \n \n" ;  

}

//your code ...

dbDataView.setText(Html.fromHtml(branchInfoString)) ;
于 2013-01-30T05:08:21.320 回答