我正在尝试从http服务器解析Json文件(video.js)。 这段代码工作正常,我得到了名字和网址,所以视频播放完美,但唯一的问题是我无法在视频名称之前显示视频ID或频道号码(chid)。 我也很想知道如何把它放在Rock,RNB,POP等类别中。我用下面的json尝试了这个但是没有用。它只有在删除类别时才有效。抱歉,我是一个新手
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {// called when response HTTP status is "200 OK"
String jsonResponse = new String(response);
try {
JSONArray jsonArray = new JSONArray(jsonResponse);
JSONObject jsonObject;
String videoTitle, videoUrl, videoNum ;
int length = jsonArray.length();
for (int i = 0; i < length; ++i) {
jsonObject = (JSONObject) jsonArray.get(i);
videoTitle = jsonObject.getString("chname");
videoUrl = jsonObject.getString("chlink");
videoNum = jsonObject.getString("chid");
VideoItem videoItem = new VideoItem(videoTitle, videoUrl, videoNum);
videoList.add(videoItem);
}
我的Json文件
{categories: [
{
"chid": 1,
"chname": "Video 1",
"chlogo": "",
"chlink": "http://samplevideo1.mp4",
"chenable": "",
"chnote": ""
},
{
"chid": 2,
"chname": "Video 2",
"chlogo": "",
"chlink": "http://samplevideo2.mp4",
"chenable": "",
"chnote": ""
},
{
"chid": 3,
"chname": "RO 3",
"chlogo": "",
"chlink": "http://samplevideo3.mp4",
"chenable": "",
"chnote":
}
]
}
我的适配器
公共类VideoSelectionListAdapter扩展了BaseAdapter {
private List<VideoItem> items;
private LayoutInflater inflater;
public VideoSelectionListAdapter(Context context,List<VideoItem> items) {
//items = VideoItems.getItems();
this.items=items;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return items.size();
}
@Override
public Object getItem(int position) {
return items.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.simple_text_item, null);
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.simple_text_text_view);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(items.get(position).getTitle());
return convertView;
}
private static class ViewHolder {
TextView text;
}
}
更新 这是我的VideoItem
public class VideoItem {
String title;
int mediaNum;
String mediaUrl;
public VideoItem(String title, String mediaUrl, int mediaNum) {
this.title = title;
this.mediaUrl = mediaUrl;
this.mediaNum = mediaNum;
}
public String getTitle() {
return title;
}
public int getMediaNum() {
return mediaNum;
}
public String getMediaUrl() {
return mediaUrl;
}
答案 0 :(得分:0)
“chid”是整数而不是字符串
答案 1 :(得分:0)
int videoNum = jsonObject.getInt("chid");
// if you want to conver this value in String then :
String tempVideoNum=videoNum+"";
答案 2 :(得分:0)
如果您想显示ID以及标题,请更新此行以执行此操作。
holder.text.setText(items.get(position).getTitle())
我可能还建议为items.get(position)
VideoItem v = items.get(position);
holder.text.setText(v.getMediaNum() + " - " + v.getTitle());