android之listview的使用

---恢复内容开始---

1.导包

2.定义变量

 3.自定义三个初始化函数initview(),数据监听initListener(),initdata()

4.initview函数,设置为单选项

 5.根据position处理监听数据

6.初始化数据,添加两个选项到list中,获取当前位置

 

7.fragment_rcu_screen_size.xml对应代码片段

my_shape_focus_background.xml代码块

item_checkedtextview.xml代码块

8.其他代码片段

 

9.最后效果图如下:

 

 10.代码插入:

public class RcuScreenSizeFragment extends BaseFragment {

    private ListView screen_size_list;
    private ArrayAdapter<String>  adapter;
    private List<String> screen_size_list_data;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_rcu_screen_size, container, false);
        initView(view);
        initListener();
        initData();
        return view;
    }

    @Override
    public void onResume() {
        super.onResume();
        updateStatus();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    private void initView(View view) {
        screen_size_list = findView(view, R.id.screen_size_list);
        screen_size_list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    }
    
    private void initData() {
        // TODO Auto-generated method stub
        screen_size_list_data = new ArrayList<String>();
        screen_size_list_data.add(getResources().getString(R.string.rcu_picture_setting));
        screen_size_list_data.add(getResources().getString(R.string.rcu_play_or_pause));

        adapter = new ArrayAdapter<String>(getActivity().getApplicationContext(), R.layout.item_checkedtextview, screen_size_list_data);
        screen_size_list.setAdapter(adapter);

        int curCheckPosition = getCurPositon(screen_size_list_data);
        screen_size_list.setItemChecked(curCheckPosition, true);
        screen_size_list.setSelection(curCheckPosition);
    }
    
    private int getCurPositon(List<String> screen_size_list_data){
        int position = 0;

        for (int i = 0; i < screen_size_list_data.size(); i++) {
            if(SystemProperties.get("persist.sys.screensizebutton").equals(""+i)){
                position = i;
                break;
            }else if(SystemProperties.get("persist.sys.screensizebutton").equals(""+i)){
                position = i;
                break;
            }
        }
        return position;
    }


    private void initListener() {
        screen_size_list.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch(position){
                    case 0:
                            Toast.makeText(getActivity().getApplicationContext(), getResources().getString(R.string.rcu_picture_setting), Toast.LENGTH_SHORT).show();
                            SystemProperties.set("persist.sys.screensizebutton","0");
                        break;
                    case 1:
                            Toast.makeText(getActivity().getApplicationContext(), getResources().getString(R.string.rcu_play_or_pause), Toast.LENGTH_SHORT).show();
                            SystemProperties.set("persist.sys.screensizebutton","1");
                        break;
                    default:
                        break;
                }
            }
        });
        
    }
    private void updateStatus() {
        initData();
    }
    
}

 

posted on 2019-03-28 10:44  LazyAngel  阅读(331)  评论(0)    收藏  举报

导航