美文网首页
[木木方文安卓学习笔记一]ListView列表

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

作者: 丿沧海一粟丿 | 来源:发表于2017-06-21 08:53 被阅读0次

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();
    }
}

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)"
    xmlns:app="[http://schemas.android.com/apk/res-auto](http://schemas.android.com/apk/res-auto)"
    xmlns:tools="[http://schemas.android.com/tools](http://schemas.android.com/tools)"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.huoliquankai.testfragment.MainActivity">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/content"
        android:tag="15"
        >
    </FrameLayout>
</android.support.constraint.ConstraintLayout>

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

public class Fragment_list extends Fragment {
    ListView mListView;
    ArrayList<String> 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);
    }

}

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)"
    xmlns:tools="[http://schemas.android.com/tools](http://schemas.android.com/tools)"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listView"
        />

</RelativeLayout>

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

public class MyAdapter extends BaseAdapter {
    ArrayList<String> titles;
    LayoutInflater mInflater;
    public MyAdapter(ArrayList<String> 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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="80dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/titleaaa"
            android:textSize="22sp"
            android:textColor="@android:color/black"/>
    </LinearLayout>
</LinearLayout>

相关文章

网友评论

      本文标题:[木木方文安卓学习笔记一]ListView列表

      本文链接:https://www.haomeiwen.com/subject/dydzqxtx.html