제가 하고자 하는게 서버에서 받아온 값을 리스트뷰에 뿌린 후에 리스트 뷰에서 사진을 선택하면 다시 서버에서 받아온 값을 리스트뷰를 포함한 다이얼로그에 띄울려고 하는데요
---일단 OnClickListener 부분이고요
View.OnClickListener photoClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
saveTag tag = (saveTag) v.getTag();
final int pos = tag.position;
switch (v.getId()) {
case R.id.photo:
sendObject(tag.id11);
JSONTask myjson = new JSONTask();
myjson.execute("http://222.114.47.134:52417/post");
}
}
};
private void sendObject(String jid) {
count = 1;
showGroup = new JSONObject();
try {
showGroup.accumulate(CHECK, "groupList");
showGroup.accumulate("id", jid);
Log.d(TAG, "member변환 완료");
} catch (JSONException e) {
e.printStackTrace();
Log.d(TAG, "json에러");
}
}
그후에 다이얼로그를 만드는 메서드
public void viewGroupList(String divGroupInfo[]){
view1 = inflater.inflate(R.layout.list,null);
listview2 = (ListView)view1.findViewById(R.id.groupListView);
groupInfo = new ArrayList<>();
for(int i=0;i<divGroupInfo.length;i++)
{
Log.d(TAG,"div값?"+divGroupInfo[i]);
groupInfo.add(divGroupInfo[i]);
}
/*
for(int i=0;i<divGroupInfo.length;i++)
{
Log.d(TAG,"arraylist값"+Integer.toString(Integer.parseInt(groupInfo.get(i).toString())));
}*/
ArrayAdapter<String> adp = new ArrayAdapter<String>(mContext,android.R.layout.simple_list_item_1,groupInfo);
listview2.setAdapter(adp);
AlertDialog.Builder groupNameCount = new AlertDialog.Builder(mContext);
groupNameCount.setView(view1);
groupNameCount.create();
groupNameCount.show();
}그다음에 이 메서드를
protected void onPostExecute(String result) {
super.onPostExecute(result);
Log.d(TAG, result);
data = result.split("\"");
Log.d(TAG, "data[]의 길이는?" + data.length);
for (int q = 0; q < data.length; q++) {
Log.d(TAG, data[q]);
}
nameLength = data.length / 6;
totalGroupData = new String[nameLength];
testSplit(result,nameLength);
for (int i = 0; i < nameLength; i++) {
Log.d(TAG, "result값은?" + data[i * 6 + 3]);
int a = data[i * 6 + 3].indexOf("_");
data[i * 6 + 3] = data[i * 6+ 3].substring(0, a);
Log.d(TAG, "새로 설정한 result값은?" + data[i * 6 + 3]);
totalGroupData[i] ="그룹명:"+data[i*6+3]+"\t인원수:"+countData[i];
Log.d(TAG,"totalGroupData는?"+totalGroupData[i]);
}
viewGroupList(totalGroupData);
}
이렇게 사용하였는데요
마지막 viewGroupList(totalGroupData)부분이 오류가 난다고 로그캣에 떠요
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
이게 에러메세지네요 ㅜ
아 그리고 divGroupInfo를 로그 캣으로 찍어보면 값이 다 들어가 있어요