zuoye

来源:互联网 发布:淘宝碰到专业差评师 编辑:程序博客网 时间:2024/03/29 17:22
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("高三");    }}
0 0
原创粉丝点击