zuoye

    xiaoxiao2021-03-25  121

    package fengras.com.xiangmuyiyuekao; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutCompat; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.TextView; import com.google.gson.Gson; import java.io.IOException; import java.util.ArrayList; import java.util.List; import fengras.com.xiangmuyiyuekao.adapters.MyAdapters; import fengras.com.xiangmuyiyuekao.bean.Data; import fengras.com.xiangmuyiyuekao.bean.MyNews; public class MainActivity extends AppCompatActivity { private ListView content; private ListView lv1; private ListView lv2; List<String> list1=new ArrayList<>(); List<String> list2=new ArrayList<>(); private List<MyNews.DataBean.ZhuanListBean> dad=new ArrayList<>(); TextView title; private View view; private PopupWindow popupWindow; private Button btn; private ArrayAdapter<String> arr1; private ArrayAdapter arr2; private ArrayAdapter arr3; private String s; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); title= (TextView) findViewById(R.id.title); content= (ListView) findViewById(R.id.content); getcontent(); btn= (Button) findViewById(R.id.btn); view = LayoutInflater.from(this).inflate( R.layout.index, null); popupWindow = new PopupWindow(view, LinearLayoutCompat.LayoutParams.WRAP_CONTENT, LinearLayoutCompat.LayoutParams.WRAP_CONTENT, true); lv1= (ListView) view.findViewById(R.id.lv1); lv2= (ListView) view.findViewById(R.id.lv2); // 一个自定义的布局,作为显示的内容 popupWindow.setTouchable(true); popupWindow.setFocusable(true); // 这个方法是用来给title传值得 // getdata(); getlistone(); // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框 // 我觉得这里是API的一个bug //设置背景透明才能显示 popupWindow.setBackgroundDrawable(new ColorDrawable(Color.RED)); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.showAsDropDown(btn); } }); title.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popupWindow.dismiss(); } }); lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { list2.clear(); if(list1.get(position).equals("小学")) { list2.add("四年级"); list2.add("五年级"); list2.add("六年级"); arr1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list2); lv2.setAdapter(arr1); arr1.notifyDataSetChanged(); }else if(position==1){ list2.clear(); list2.add("初一"); list2.add("初二"); list2.add("初三"); arr2 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list2); lv2.setAdapter(arr1); arr2.notifyDataSetChanged(); }else if(position==2){ list2.clear(); list2.add("高一"); list2.add("高二"); list2.add("高三"); arr3 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, list2); lv2.setAdapter(arr1); arr3.notifyDataSetChanged(); } } }); lv2.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String s = list2.get(position); title.setText(s); if(title.equals("初二")){ String getinputstream = null; try { getinputstream = Mystreamutils.getinputstream( getResources().getAssets().open("data2.json")); Gson gson=new Gson(); Data data = gson.fromJson(getinputstream, Data.class); MyAdapters mm=new MyAdapters(data.getData().getZhuanList(),MainActivity.this); content.setAdapter(mm); } catch (IOException e) { e.printStackTrace(); } } } }); } private void getcontent() { Log.e("ss","AS"); try { String getinputstream = Mystreamutils.getinputstream( getResources().getAssets().open("data1.json")); Gson gson=new Gson(); Data data = gson.fromJson(getinputstream, Data.class); MyAdapters mm=new MyAdapters(data.getData().getZhuanList(),MainActivity.this); content.setAdapter(mm); Log.e("ss",getinputstream); } catch ( Exception e) { e.printStackTrace(); } } private void getlistone() { list1.add("小学"); list1.add("初中"); list1.add("高中"); ArrayAdapter<String> type=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list1); lv1.setAdapter(type); } private void getdata() { list2.add("初一"); list2.add("初二"); list2.add("初三"); list2.add("高一"); list2.add("高二"); list2.add("高三"); } }
    转载请注明原文地址: https://ju.6miu.com/read-12391.html

    最新回复(0)