使用CheckedTextView模糊/涂抹/重叠ListActivity - 就像一个图像

时间:2014-09-19 07:18:38

标签: android listview checkedtextview

我使用ListView和CheckedTextView元素来显示清单。

它在我试过的两部手机上都很好用(两个KitKat),但我在设备上遇到问题RuggedPad(link),它也有Android 4.1.1

问题是,它不是列表,而是显示某种位图(?) - 效果是如果你滚动它自身重叠(附带截图),并且不可检查。

List start After scrolling

试图在滚动时重绘listActivity:

@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
    getListView().invalidate();
    getListView().invalidateViews();
    getListView().requestLayout();
}

还尝试禁用绘图缓存:

    getListView().setDrawingCacheEnabled(false);

仍然无所作为。

这是我创建ListView的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    type = intent.getStringExtra(KEY_TYPE);
    String breakdown = intent.getStringExtra(KEY_DATA);

    try {
        JSONData = new ArrayList<Model>();
        JSONArray breakdownJSON = new JSONArray(breakdown);
        for (int i = 0; i < breakdownJSON.length(); i++) {
            JSONData.add(new Model(breakdownJSON.getJSONObject(i)));
        }
    } catch (Exception e) {
        finish();
    }

    adapter = new ArrayAdapter<Model>(this, R.layout.action_list, JSONData) {
        public long getItemId(int position) {
            return position;
        }
    };
    setListAdapter(adapter);
    getListView().requestFocusFromTouch();
    getListView().setOnScrollListener(this);
    getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    for (int i = 0; i < JSONData.size(); i++) {
        getListView().setItemChecked(i, JSONData.get(i).checked);
    }
    getListView().setDrawingCacheEnabled(false);
}

和.xml行定义:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/action_list_textview"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeightSmall"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:textSize="22sp"
/>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

几个小时后我找到了理由。

问题出现在该活动的“android:theme”字段中:

android:theme="@style/FullscreenTheme" 

造成了所有问题。