2013-01-30 34 views
5

Làm thế nào tôi có thể làm đậm và nghiêng các Tên chi nhánh:, Chi nhánh:, Chi nhánh Điện thoại Số:Chi nhánh Thời gian: trong mã Java? Dữ liệu cơ sở dữ liệu phải ở định dạng đơn giản. Bốn cái này chỉ là tiêu đề của chúng. Trong trường hợp (hiện tại) này, nó in/hiển thị toàn bộ dữ liệu ở định dạng đơn giản và người dùng có vấn đề khi đọc dữ liệu này.Tôi làm cách nào để in đậm và gạch dưới một chuỗi động trong mã Android?

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) ; 

Trả lời

9

Có, bạn có thể trang trí văn bản trong TextView của mình bằng cách sử dụng thẻ HTML. Điều đó bao gồm không chỉ in nghiêng và đậm, mà còn cả màu phông chữ và một số nội dung khác. Một cái gì đó như thế này:

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)) ; 

Không phải tất cả các thẻ HTML được hỗ trợ, bạn có thể tìm thấy danh sách các thẻ herehere.

0

Bạn có thể định dạng chuỗi của bạn và đặt nó trong TextView

String some_string = Html.fromHtml(YourHTMLFromattedString) 
dbDataView.setText(some_string); 
0

sử dụng Html.fromHtml(String source) và HTML <b></b><i></i> thẻ cho hiển thị một số chữ in đậm và in nghiêng như

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)) ; 
4

Sử dụng HTML nội dung để định dạng văn bản của bạn chẳng hạn:

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)); 
+1

cảm ơn, ......... nó làm việc. "\ n" không hoạt động, tôi nghĩ tôi nên sử dụng thẻ
ở đây – Innovator

+0

+1 đây là đúng –

+0


thẻ đã hoạt động để kiểm tra dòng mới
Innovator

0

Bạn sẽ phải tạo bảngView với nhiều hàng sẽ được thêm vào khi chạy. Hàng đầu tiên sẽ chứa các tiêu đề cột.

Ví dụ:

<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> 

và để thêm dữ liệu vào bảng này, trong lớp, bạn sẽ thêm một cái gì đó như thế này:

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); 
} 
+0

Tính năng này có tự động in các giá trị không? Ý tôi là, giả sử, chúng ta có 1000 branchNames, 1000-branchNo, .... trong cơ sở dữ liệu. Điều này có in tất cả các dữ liệu bên dưới cái kia không? Tôi đã thử chỉ nhưng nó in mỗi giá trị mới trên một trước đó :) – Innovator

+0

Điều này sẽ làm là thêm một hàng bảng mới cho mỗi bản ghi. Vì vậy, điều này sẽ không ghi đè lên trên trước đó :) Đây là cách Android cốt lõi để làm điều đó. Xin vui lòng cảm thấy tự do để gắn thẻ ans này. hữu ích/chính xác nếu nó đã giúp bạn. – lokoko

Các vấn đề liên quan