package sulei.bawei.com.yuekao_a.activity; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.TextView; import com.google.gson.Gson; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.util.List; import sulei.bawei.com.yuekao_a.R; import sulei.bawei.com.yuekao_a.adapter.Listadapter; import sulei.bawei.com.yuekao_a.bean.Data; public class MainActivity extends AppCompatActivity { private ListView list; private TextView tv_grade_name; private int coung = 3; private String FileName= "data3.json"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); initdata(); } private void initdata() { AsyncTask<String, String, String> as = new AsyncTask<String, String,String>() { @Override protected String doInBackground(String... params) { try { String s = GetString(getAssets().open(params[0])); return s; } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); List<Data.DataBean.ZhuanListBean> zhuanList = new Gson().fromJson(s, Data.class).getData().getZhuanList(); tv_grade_name.setText(zhuanList.get(0).getGrade()); list.setAdapter(new Listadapter(MainActivity.this,zhuanList)); } }; as.execute(FileName); } private void initview() { list = (ListView) findViewById(R.id.list); tv_grade_name = (TextView) findViewById(R.id.tv_grade_name); tv_grade_name.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { popu popu = new popu(MainActivity.this); popu.UpData().showAsDropDown(tv_grade_name); popu.setInterFface(new popu.Get() { @Override public void GetName(int position) { FileName = "data" + position + ".json"; initdata(); } }); } }); } private String GetString(InputStream in) throws Exception { byte[] by = new byte[1024]; int len; ByteArrayOutputStream b = new ByteArrayOutputStream(); while ((len = in.read(by)) != -1) { b.write(by, 0, len); } b.close(); in.close(); return b.toString(); } }
package sulei.bawei.com.yuekao_a.activity;
import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.PopupWindow; import java.lang.annotation.Retention; import sulei.bawei.com.yuekao_a.R; import static android.R.attr.id; /** * Created by Administrator on 2017/4/3. */ public class popu { ListView list1,list2; Context con; private PopupWindow po; public popu(Context con) { this.con=con; } public PopupWindow UpData(){ View vi=View.inflate(con, R.layout.popu,null); list1= (ListView) vi.findViewById(R.id.list_popo1); list2= (ListView) vi.findViewById(R.id.list_popo2); po = new PopupWindow(vi, LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); po.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); po.setTouchable(true); po.setFocusable(true); list1.setAdapter(new ArrayAdapter<String>(con,android.R.layout.simple_list_item_1,GetStringBanji())); list1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { List2AddData(position); } }); List2AddData(0); return po; } private void List2AddData(final int ids) { list2.setAdapter(new ArrayAdapter<String>(con,android.R.layout.simple_list_item_1,GetList2Banji(ids))); list2.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if(GetList2Banji(ids)[position].equals("四年级")||GetList2Banji(ids)[position].equals("初中一")||GetList2Banji(ids)[position].equals("高中一")){ Get.GetName(getid(GetList2Banji(ids)[position])); po.dismiss(); } } }); } private String[] GetStringBanji(){ return new String[]{"小学","初中","高中"}; } private String[] GetList2Banji(int id){ switch (id){ case 0: return new String[]{ "一年级","二年级","三年级","四年级","五年级"}; case 1: return new String[]{ "初中一","初中二","初中三"}; case 2: return new String[]{ "高中一","高中二","高中三"}; } return null; } private Get Get; public interface Get{ void GetName(int position); } public void setInterFface( Get Get) { this.Get=Get; } public int getid(String name){ switch (name){ case "四年级": return 3; case "高中一": return 2; case "初中一": return 1; } return 0; } }