Tôi đang làm việc trên ứng dụng Hướng dẫn TV sử dụng ListActivity
hiển thị chương trình truyền hình cho một kênh/một ngày tại một thời điểm. Tôi đang sử dụng một RelativeLayout
cho ListView
mục và tôi muốn ListView
để tìm một cái gì đó như thế này:Sửa đổi dữ liệu của SimpleCursorAdapter
07:00 The Breakfast Show
Latest news and topical reports
08:00 Tom and Jerry
More cat and mouse capers
tôi nhận được dữ liệu cho ListView
mục bằng cách sử dụng đoạn mã sau:
Cursor cursor = db.rawQuery(SELECT blah,blah,blah);
String[] columnNames = new String[]{"start_time","title", "subtitle"};
int[] resIds = new int[]{R.id.start_time_short, R.id.title, R.id.subtitle};
adapter = new SimpleCursorAdapter(this, R.layout.guide_list_item, cursor, columnNames, resIds);
Vấn đề của tôi là trường start_time
là datetime
với định dạng sau:
2011-01-23 07:00:00
vì vậy những gì tôi nhận được là:
2011-01-23 07:00:00 The Breakfast Show
Latest news and topical reports
2011-01-23 08:00:00 Tom and Jerry
More cat and mouse capers
Những gì tôi muốn làm là định dạng trên sử dụng SimpleDateFormat
("HH:mm"
) vì vậy tôi chỉ nhận được những hour:minute
một phần của lĩnh vực start_time
.
Tôi đã tìm thấy giao diện SimpleCursor.ViewBinder
cho biết nó có thể là thứ tôi muốn nhưng tôi không thể tìm ra cách sử dụng nó. Nếu tôi đúng về ViewBinder
, tôi đánh giá cao một số gợi ý để lấy mẫu mã về cách sử dụng nó. Nếu không, làm cách nào khác tôi có thể đạt được thay đổi trường start_time
để chỉ hiển thị định dạng HH:mm
?
Cảm ơn bạn, giải thích nó rất tốt. Tôi đã làm lại ví dụ của bạn để phù hợp với mã của tôi và nó hoạt động hoàn hảo cho tôi. – Squonk
Điều này chỉ lưu mông của tôi cố gắng để sắp xếp lại số lượng hàng từ một con trỏ, vì vậy cảm ơn bạn sir. Mã của tôi là như sau: HistoryAdapter.setViewBinder (SimpleCursorAdapter.ViewBinder mới() { \t \t \t @ Override \t \t \t public boolean setViewValue (Xem xem, con trỏ trỏ, int cột) { \t \t \t \t if (cột == 0) {// giả sử rằng cột 0 là \t \t \t \t \t \t \t \t \t // ngày 012.\t \t \t \t \t Chế độ xem TextView tv = (TextView); \t \t \t \t \t Chuỗi rownum = String.valueOf (cursor.getPosition() + 1); \t \t \t \t \t // đây bạn sử dụng SimpleDateFormat để bla blah blah \t \t \t \t \t tv.setText (rownum); \t \t \t \t \t trả về true; \t \t \t \t} \t \t \t \t return false; \t \t \t} \t \t}); –
@Cristian Xin vui lòng, bạn có nghĩ rằng bạn có thể trợ giúp với http://stackoverflow.com/questions/27257416/android-how-can-i-pass-data-related-to-two-tables-to-a-the này -insert-method-of-a? – eddy