作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在 SimpleCursorAdapter 中自定义我的 TextView ,有人可以帮助我以最简单的方式做到这一点,而无需更改太多代码...
下面是我的工作代码,我从类中获取字符串并插入 SimpleCursorAdapter
代码:
public class MyListActivity extends ListActivity {
/** Called when the activity is first created. */
private Cursor mCursor = null;
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.weeklysettings);
getListView().addHeaderView(buildHeader(), null , false);
Cursor mCursor = getCursorDetails();
startManagingCursor(mCursor);
ListAdapter adapter = new SimpleCursorAdapter(this, // Context.
R.layout.listview, // Specify the row template
// to use (here, three
// columns bound to the
// two retrieved cursor
// rows).
mCursor, // Pass in the cursor to bind to.
// Array of cursor columns to bind to.
new String[] { MyClass.EVENT,
MyClass.CHANNEL_NAME,
MyClass.PROGRAM_TITLE,
MyClass.EVENTTIME },
new int[] { R.id.event, R.id.channelname, R.id.programtitle, R.id.timestamp});
// Bind to our new adapter.
setListAdapter(adapter);
//setListAdapter(new ArrayAdapter<String>(this, R.layout.listview, ynetList));
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
stopManagingCursor(mCursor);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
startManagingCursor(mCursor);
}
private ViewGroup buildHeader() {
LayoutInflater infalter = getLayoutInflater();
ViewGroup header = (ViewGroup) infalter.inflate(R.layout.listitem_header, getListView(), false);
header.setEnabled(false);
return(header);
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent intent = new Intent(this, SettingsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
finish();
super.onBackPressed();
}
private Cursor getCursorDetails() {
String sortOrder = DataExchangeFacility.TIMESTAMP
+ " COLLATE LOCALIZED DESC";
mCursor = getApplicationContext().getContentResolver().query(
DataExchangeFacility.CONTENT_URI_GRACE, null, null, null, sortOrder);
return mCursor;
}
}
最佳答案
试一试:
ListAdapter adapter = new SimpleCursorAdapter(this, // Context.
R.layout.listview, // Specify the row template
// to use (here, three
// columns bound to the
// two retrieved cursor
// rows).
mCursor, // Pass in the cursor to bind to.
// Array of cursor columns to bind to.
new String[] { MyClass.EVENT,
MyClass.CHANNEL_NAME,
MyClass.PROGRAM_TITLE,
MyClass.EVENTTIME },
new int[] { R.id.event, R.id.channelname, R.id.programtitle, R.id.timestamp}) {
@Override
public void setViewText(TextView v, String text) {
// v is your TextView
v.setTextColor(Color.RED);
super.setViewText(v, text);
}
};
关于android - 如何在 SimpleCursorAdapter 中自定义 TextViews - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25465450/
我是一名优秀的程序员,十分优秀!