안녕하세요. 안드로이드스튜디오를 공부하고 있는 학생입니다.
custom listview를 이용해 리스트뷰를 표현해주고 있습니다.
--------------------------------
안녕 안녕 ㅁ
반갑 반갑 ㅁ
즐검 즐검 ㅁ
모름 모름 ㅁ
--------------------------------
전체체크 / 체크항목삭제
이런식으로 표현해주고 싶습니다.
저의 현재 문제는 전체체크 부분과, 체크항목삭제 부분을 구현을 못하겠습니다.
아래는 현재까지 작성한 코드를 첨부하겠습니다
어떤방식으로 하면될지 알려주시면 감사하겠습니다!
public class Line_past_main extends AppCompatActivity {
private Context mContext;
private Activity mActivity;
private ConstraintLayout mRelativeLayout;
private Button mButton;
private ImageView mImageView, mImageView2, mImageView3, mImageView4;
private ProgressDialog pDialog;
private ListView lv2;
private EditText editTextPw;
private List<CellContent_line> contentList = new ArrayList<>(); // List to store collection of contents to be displayed
ArrayAdapter<CellContent_line> adapter;
ArrayList<HashMap<String, String>> contactList;
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.line_past_main);
setCustomActionbar(); //커스텀액션바
contactList = new ArrayList<>();
lv2 = (ListView) findViewById(R.id.vvv);
// Get the application context
mContext = getApplicationContext();
// Get the activity
mActivity = Line_past_main.this;
getCellContent(); // Get Json content from file and store in collection.
fillContentOnView(); // populate listview.
// contentClickListener(); // listview click Listener.
}
public void getCellContent() {
contentList.clear();
try {
JSONObject jsonFile = new GetJson().execute("json파일주소.php").get();
// toast = Toast.makeText(getApplicationContext(), loadToastText, Toast.LENGTH_SHORT);
// toast.show();
JSONArray jsonCellContents = jsonFile.getJSONArray("result");
System.out.println(jsonCellContents.toString());
for (int i = 0; i < jsonCellContents.length(); i++)
{
// Parsing all items of Json array.
JSONObject subJson = (JSONObject) jsonCellContents.get(i);
String line_start, line_stop, line_type;
line_start = subJson.getString("Start");
line_stop = subJson.getString("Stop");
line_type = subJson.getString("Type");
// String check1 = subJson.getString("Team");
// String check2 = subJson.getString("Class");
//String check3 = subJson.getString("Part");
contentList.add(new CellContent_line(line_start, line_stop, line_type));
}
} catch (Exception e) {
// toast = Toast.makeText(getApplicationContext(), errorToastText, Toast.LENGTH_SHORT);
// toast.show();
}
}
private void fillContentOnView() {
adapter = new contentListViewAdapter();
listView = (ListView) findViewById(R.id.vvv);
listView.setAdapter(adapter);
}
private class contentListViewAdapter extends ArrayAdapter<CellContent_line> {
public contentListViewAdapter() {
super(Line_past_main.this, R.layout.line_list_item, contentList);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
final float scale = getResources().getDisplayMetrics().density;
int iconDimension = (int) (100 * scale);
if (convertView == null) {
convertView = getLayoutInflater().inflate(R.layout.line_list_item, null);
holder = new ViewHolder();
// holder.icon = (ImageView) convertView.findViewById(R.id.iconView);
holder.line_start = (TextView) convertView.findViewById(R.id.start);
holder.line_stop = (TextView) convertView.findViewById(R.id.finish);
holder.line_type = (TextView) convertView.findViewById(R.id.checkname);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
CellContent_line currentContent = contentList.get(position);
holder.line_start.setText(currentContent.getLine_start());
holder.line_stop.setText(currentContent.getLine_stop());
holder.line_type.setText(currentContent.getLine_type());
return convertView;
}
}
static class ViewHolder {
TextView line_start;
TextView line_stop;
TextView line_type;
}
private class GetJson extends AsyncTask<String, Integer, JSONObject> {
@Override
protected JSONObject doInBackground(String... params) {
JSONObject json = null;
try {
json = readUrl(params[0]);
} catch (Exception e) {
// toast = Toast.makeText(getApplicationContext(), errorToastText, Toast.LENGTH_SHORT);
// toast.show();
} finally {
return json;
}
}
private JSONObject readUrl(String url) throws Exception {
InputStream inputStream = new URL(url).openStream();
JSONObject json = null;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
String jsonText = readAll(reader);
json = new JSONObject(jsonText);
return json;
} catch (Exception e) {
// toast = Toast.makeText(getApplicationContext(), errorToastText, Toast.LENGTH_SHORT);
// toast.show();
} finally {
inputStream.close();
return json;
}
}
private String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
}