public class MainActivity extends AppCompatActivity {
private ArrayList<MusicInfo> ji;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// setContentView(new iasjio(this));
ListView lis= (ListView) findViewById(R.id.lv);
ji = new ArrayList<>();
try {
InputStreamReader inputStreamReader = new InputStreamReader(getAssets().open("test.json"));
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
StringBuffer stringBuffer = new StringBuffer();
while ((line = bufferedReader.readLine())!=null){
stringBuffer.append(line);
}
inputStreamReader.close();
bufferedReader.close();
try {
JSONObject jsonObject = new JSONObject(stringBuffer.toString());
JSONArray list = jsonObject.getJSONArray("list");
for (int i = 0; i < list.length(); i++) {
JSONObject jsonObjects = list.getJSONObject(i);
String singername = jsonObjects.getString("singername");
String songname = jsonObjects.getString("songname");
String albumname = jsonObjects.getString("albumname");
Log.i("",""+singername+songname+albumname);
ji.add(new MusicInfo(singername,songname,albumname));
}
com.example.a98i.json.MyAdapter.Adapter adapter=new com.example.a98i.json.MyAdapter.Adapter(this,ji);
lis.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
适配器:
public class Adapter extends BaseAdapter {
private Context context;
private ArrayList<MusicInfo> musicInfo;
public Adapter(Context context, ArrayList<MusicInfo> musicInfo) {
this.context = context;
this.musicInfo = musicInfo;
}
@Override
public int getCount() {
return musicInfo.size();
}
@Override
public Object getItem(int i) {
return musicInfo.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
aa a;
if (view==null){
a = new aa();
view=LayoutInflater.from(context).inflate(R.layout.item,null);
a.textView = view.findViewById(R.id.textview);
a.textView2 =view.findViewById(R.id.textview2);
a.textView3 =view.findViewById(R.id.textview3);
view.setTag(a);
}else {
a= (aa) view.getTag();
}
a.textView.setText(musicInfo.get(i).getSongname().toString());
a.textView2.setText(musicInfo.get(i).getAlbumname().toString());
a.textView3.setText(musicInfo.get(i).getSingername().toString());
return view;
}
class aa{
TextView textView,textView2,textView3;
}
}
public class MusicInfo implements Serializable {
public String getAlbumname() {
return albumname;
}
public String getSingername() {
return singername;
}
public String getSongname() {
return songname;
}
@Override
public String toString() {
return "MusicInfo{" +
"albumname='" + albumname + '\'' +
", singername='" + singername + '\'' +
", songname='" + songname + '\'' +
'}';
}
private String albumname;
public MusicInfo(String albumname, String singername, String songname) {
this.albumname = albumname;
this.singername = singername;
this.songname = songname;
}
private String singername;
private String songname;
}