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