drawlayout
16lz
2021-12-04
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() )点击事件
android:layout_gravity="left"android:choiceMode="singleChoice"
public class MainActivity extends AppCompatActivity { private DrawerLayout drawerLayout; private FrameLayout frameLayout; private ListView lv; private ArrayListlists; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); setClick(); } private void setClick() { lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { fragment1 instan = fragment1.getInstan(lists.get(i)); getSupportFragmentManager().beginTransaction().add(R.id.fl,instan).commit(); drawerLayout.closeDrawer(lv); } }); } private void initView() { drawerLayout = (DrawerLayout) findViewById(R.id.dl); frameLayout = (FrameLayout) findViewById(R.id.fl); lv = (ListView) findViewById(R.id.lv); } private void initData() { lists = new ArrayList<>(); for (int i = 0; i < 5; i++) { lists.add("DrawerLayout"+i); } ArrayAdapter stringArrayAdapter = new ArrayAdapter (MainActivity.this,android.R.layout.simple_list_item_1, lists); lv.setAdapter(stringArrayAdapter); } /* private void setListener() { lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { MFragment mFragment = new MFragment(); Bundle bundle = new Bundle(); bundle.putString("name", lists.get(i)); mFragment.setArguments(bundle); getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout,mFragment).commit(); //关闭drawer drawerLayout.closeDrawer(lv); } }); }*/}
public class fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { TextView tv = new TextView(getActivity()); Bundle bundle = getArguments(); String name = bundle.getString("name"); tv.setText(name); return tv; } public static fragment1 getInstan(String name){ fragment1 fragment1 = new fragment1(); Bundle bundle = new Bundle(); bundle.putString("name",name); fragment1.setArguments(bundle); return fragment1; }}
更多相关文章
- 一点见解: Android事件分发机制(一)
- Android中Touch事件的处理
- OpenCV4 --Android(安卓)环境配置【详细教程】
- Android(安卓)学习之一
- android 事件流转机制
- Android(安卓)中屏幕点击事件的实现
- Android03_事件处理
- Android(安卓)Studio 1.0 (稳定版) 完全攻略
- android 事件流转机制