我正在尝试在列表导航模式下实现Android Action Bar,它在从列表中选择项目时成功更改了片段,但片段重叠,我可以看到前一个片段的内容仍然在屏幕上,当第二个是选择.这是Activity的OnCreate和OnNavigationItemSelected的代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mFirstFragment = new FirstFragment();
mSecondFragment = new SecondFragment();
SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(
this,
R.array.action_list,
android.R.layout.simple_spinner_dropdown_item);
mActionBar = getActionBar();
mActionBar.setDisplayShowTitleEnabled(false);
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
mActionBar.setListNavigationCallbacks(mSpinnerAdapter, this);
if(savedInstanceState != null) {
mActionBar.setSelectedNavigationItem(
savedInstanceState.getInt("currFragment"));
}
}
public boolean onNavigationItemSelected(int position, long itemId) {
FragmentTransaction mFragmentTransaction =
getFragmentManager().beginTransaction();
switch(position) {
case FIRST_FRAGMENT:
mFragmentTransaction.replace(
android.R.id.content,
mFirstFragment);
break;
case SECOND_FRAGMENT:
mFragmentTransaction.replace(
android.R.id.content,
mSecondFragment);
break;
}
mFragmentTransaction.commit();
return true;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我有一个Android应用程序,它使用FTS4虚拟表在SQLite数据库中搜索数据.它工作正常,但当表中的数据包含特殊字符(如'á','é','í','ó','ú'或'ñ')时,SQLite MATCH函数不会产生任何结果.我此时迷路了.谢谢.
我想实现一个自定义SimpleCursorAdapter,它只在偶数行上显示背景颜色(在我的情况下为蓝色).我的实现如下:
public class ColoredCursorAdapter extends SimpleCursorAdapter {
String backgroundColor;
public ColoredCursorAdapter(
Context context,
int layout,
String backgroundColor,
Cursor c,
String[] from,
int[] to,
int flags) {
super(
context,
layout,
c,
from,
to,
flags);
this.backgroundColor = backgroundColor;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
if(cursor.getPosition() % 2 == 0) {
view.setBackgroundColor(
Color.parseColor(backgroundColor));
}
}
}
Run Code Online (Sandbox Code Playgroud)
它在开始时工作正常,但是当我反复向下滚动列表时,所有行都变为蓝色.
提前致谢.