package com.wuxiaolong.androidsamples; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.wuxiaolong.androidsamples.appmemory.AppMemoryActivity; import com.wuxiaolong.androidsamples.customview.EmptyViewActivity; import com.wuxiaolong.androidsamples.designpatterns.ChainOfResponsibilityActivity; import com.wuxiaolong.androidsamples.glide.GlideActivity; import com.wuxiaolong.androidsamples.itemtouchhelper.ItemTouchHelperActivity; import com.wuxiaolong.androidsamples.notification.NotificationActivity; import com.wuxiaolong.androidsamples.retrofit.RetrofitActivity; import com.wuxiaolong.androidsamples.runtimepermission.RuntimePermissionActivity; import com.wuxiaolong.androidsamples.videoplay.VideoPlayViewActivity; import com.wuxiaolong.androidsamples.viewdraghelper.ViewDragActivity; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class MainActivity extends BaseActivity { private RecyclerView recyclerView; private RecyclerViewAdatper recyclerViewAdatper; private List<String> textList = new ArrayList<>(); private List<Class> classList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.AppTheme); setContentView(R.layout.activity_main); //设置是否滑动退出 setSwipeBackEnable(false); initToolbarAsHome("吴小龙同學"); initData(); recyclerView = (RecyclerView) findViewById(R.id.recycleerView); recyclerViewAdatper = new RecyclerViewAdatper(); recyclerView.setAdapter(recyclerViewAdatper); recyclerView.setLayoutManager(new LinearLayoutManager(context)); // Trace.beginSection("beginSection"); // Trace.endSection(); } private void initData() { textList.add("Notification"); textList.add("ViewDrag"); textList.add("VideoPlay"); textList.add("Retrofit"); textList.add("ItemTouchHelper"); textList.add("EmptyView"); textList.add("RuntimePermission"); textList.add("AppMemory"); textList.add("Glide"); textList.add("ChainOfResponsibility"); classList.add(ChainOfResponsibilityActivity.class); classList.add(NotificationActivity.class); classList.add(ViewDragActivity.class); classList.add(VideoPlayViewActivity.class); classList.add(RetrofitActivity.class); classList.add(ItemTouchHelperActivity.class); classList.add(EmptyViewActivity.class); classList.add(RuntimePermissionActivity.class); classList.add(AppMemoryActivity.class); classList.add(GlideActivity.class); Collections.sort(textList); Collections.sort(classList, new Comparator<Class>() { @Override public int compare(Class c1, Class c2) { return c1.getSimpleName().compareTo(c2.getSimpleName()); } }); } public class RecyclerViewAdatper extends RecyclerView.Adapter<RecyclerViewAdatper.ViewHolder> { @Override public RecyclerViewAdatper.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main, parent, false); return new RecyclerViewAdatper.ViewHolder(view); } @Override public void onBindViewHolder(RecyclerViewAdatper.ViewHolder holder, int position) { holder.textView.setText(textList.get(position)); } @Override public int getItemCount() { return textList.size(); } class ViewHolder extends RecyclerView.ViewHolder { public TextView textView; public ViewHolder(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.text); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this, classList.get(getLayoutPosition()))); } }); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.github) { Uri uri = Uri.parse("https://github.com/WuXiaolong/AndroidSamples"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); return true; } return super.onOptionsItemSelected(item); } }