【问题标题】:setItemChecked in ListFragmentListFragment 中的 setItemChecked
【发布时间】:2013-08-12 13:33:35
【问题描述】:

我的列表片段代码是

public class LanguageFragment extends ListFragment {
String[] language_list = new String[] { "English", "Tamil" };
ListView lv;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.language_fragment, container,
            false);
    lv = (ListView) view.findViewById(android.R.id.list);
    lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            inflater.getContext(), android.R.layout.simple_list_item_1,
            language_list) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if (convertView == null) {
                LayoutInflater li = (LayoutInflater) getActivity()
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = li.inflate(android.R.layout.simple_list_item_1, null);
            }               
            if (lv.isItemChecked(position)) {
                v.setBackgroundColor(Color.DKGRAY);
            } else {
                v.setBackgroundColor(0);
            }
            return super.getView(position, v, parent);
        }
    };
    setListAdapter(adapter);
    lv.setItemChecked(1, true);
    return view;
}
}

当我加载Fragment 时,我的第二行(索引 1)将以Color.DKGRAY 颜色突出显示。所以我使用了setChoiceMode。但是此代码将选择模式设置为第二行。但是当我加载Fragment 时,它并没有以Color.DKGRAY 颜色突出显示。当我单击列表项时,它会以Color.DKGRAY 颜色突出显示。我不知道有什么问题。帮帮我吧朋友。

更新#1

我认为setItemChecked 在片段中不起作用,或者这不是正确的做法。

【问题讨论】:

  • 您是否检查过是否存在某些计数以 0 开头而某些以 1 作为集合的第一个值开头的问题?
  • 我检查了 0 和 1。同样的问题朋友。
  • 让我感到困惑的一件事是,为什么您将背景设置在膨胀视图上只是为了从 super 调用返回视图?
  • @Luksprog 没有朋友。突出显示选定的记录。
  • 如果您的意思是您需要用特定颜色突出显示选定的行??...然后使用自定义列表项选择器进行列表视图。

标签: android android-listview android-listfragment


【解决方案1】:

非常感谢各位朋友。通过将onCreateView 方法更改为onActivityCreated,任务成功完成。现在该应用程序就像一个魅力。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 2015-05-16
    相关资源
    最近更新 更多