[木木方文安卓学习笔记一]ListView列表

1、取到Fragment_list,放入activity_main的content中

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment_list frist = new Fragment_list();
        //获取到低版本兼容的
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction transaction = fm.beginTransaction();
        transaction.add(R.id.content, frist, "frist");
        transaction.commit();
        //对fragment进行任何操作都必须提交

        //fragment传值
//        Bundle bundle = new Bundle();
//        bundle.putString("title", "香菇蓝瘦");
//        frist.setArguments(bundle);
        //3.0 above
//        getFragmentManager();
    }
}



    
    

2、Fragment_list获取xml布局文件,传数据到adapter中。

public class Fragment_list extends Fragment {
    ListView mListView;
    ArrayList Strings;
    MyAdapter myAdapter;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        Strings = new ArrayList<>();
        View view = inflater.inflate(R.layout.fragment_list, null);
        mListView = (ListView) view.findViewById(R.id.listView);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        this.initDate(getActivity());
    }

    private void initDate(Context context) {
        for (int i = 0; i<50; i++) {
            Strings.add("第"+i+"条标题!");
        }
        myAdapter = new MyAdapter(Strings, context);
        mListView.setAdapter(myAdapter);
    }

}




    


3、Adapter设置count和item等(类似iOS设置代理数据cell等)

public class MyAdapter extends BaseAdapter {
    ArrayList titles;
    LayoutInflater mInflater;
    public MyAdapter(ArrayList titles, Context context) {
        this.titles = titles;
        this.mInflater = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return titles.size();
    }

    @Override
    public Object getItem(int position) {
        return titles.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
//类似return UITableViewCell
        View view = mInflater.inflate(R.layout.item_title, null);
        TextView title = (TextView) view.findViewById(R.id.titleaaa);
        title.setText(titles.get(position));
        return view;
    }
}

4.item_title类似单个cell



    
        
    

你可能感兴趣的:([木木方文安卓学习笔记一]ListView列表)