@Override
public View getView(final int position, View convertView, ViewGroup parent) {
//DBManager dbManager = new DBManager(getApplicationContext(), "Sub.db", null, 1);
//------------------------------------------------------------
if (convertView == null) {
convertView = mLiInflater.inflate(R.layout.row, null);
Log.d("tag", "레이아웃");
}else{
Log.d("tag", "else 레이아웃");
}
//------------------------------------------------------------
//
// 리턴할 레이아웃의 자식뷰들의 내용을 설정합니다.
//한개의 뷰(셀) 안에 들어갈 것들을 정의
Log.d("tag", "m");
mTvCalendar = (TextView) findViewById(R.id.textSubTitle); //날짜부분
final TextView textViewSubTitle
= (TextView) convertView.findViewById(R.id.textSubTitle);
textViewSubTitle.setBackgroundColor(defaultColour);
textViewSubTitle.setText(mSubList.get(position)); //이걸 통해서 텍스트 뷰에 배열 내용을 집어넣음
Log.d("tag", "텍스트뷰에 배열을 넣음");
//텍스트뷰를 길게 눌렀을때 삭제하는 이벤트/////////////////////////////////////////////////
textViewSubTitle.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ShowMenu(textViewSubTitle.getText().toString(), position);
Log.d("tag", "warning message long click");
return false;
}
});
//텍스트뷰를 한번 클릭했을때
textViewSubTitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("tag", "onClick");
//셀 한개를 터치했을때 동작하는 곳
/////////만약 수정모드에 들어갔다면///////////////////////////////////////
if (modi == 1) {
if ((position > 6) && (position % 6 != 0)) {
Toast.makeText(getApplicationContext(), position + "을 클릭", Toast.LENGTH_SHORT).show();
///////AlertDialog
AlertDialog.Builder aDialog = new AlertDialog.Builder(MainActivity.this); //다이얼로그객체선언
Context mContext = getApplicationContext(); //해당레이아웃의정보얻기
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE); // 레이아웃설정
final View layout = inflater.inflate(R.layout.custom_dialog, (ViewGroup) findViewById(R.id.layout_root));
aDialog.setView(layout);//다이얼로그에 레이아웃을 추가
//aDialog.show();//다이얼로그 띄우기
//다이얼로그 화면 구성
aDialog.setTitle("과목을 추가합니다.");
Log.d("tag", "에디트텍스트 불러옴");
aDialog.setPositiveButton("저장", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int Conwhich) {
Log.d("tag", "포지티브버튼 들어감");
// 텍스트 입력란이 빈 공간이면 무시
EditText et1 = (EditText) layout.findViewById(R.id.editText); //다이얼로그에 있는 에디트 텍스트를 불러온다.
EditText et2 = (EditText) layout.findViewById(R.id.editText2); //다이얼로그에 있는 에디트 텍스트를 불러온다
if ("".equals(et1.getText().toString())) {
Toast.makeText(getApplicationContext(), "모두 기입해주세요.", Toast.LENGTH_SHORT).show();
Log.d("tag", "공백");
return;
} else {
Toast.makeText(getApplicationContext(), "저장", Toast.LENGTH_SHORT).show();
Log.d("tag", "토스트메시지 저장");
textViewSubTitle.append(et1.getText().toString());
textViewSubTitle.setBackgroundColor(checkedColour);
}
Log.d("tag", "에디트텍스트 끝남");
}
});
위에는 어댑터에 있는 겟뷰 메서드입니다.
저기 중간에 보면 다이얼로그가 들어있구요.
다이얼로그로 과목명을 입력받아 시간표 그리드뷰에 나오게해야하는데
뭐가 문제인지.. 다이얼로그의 저장을 누르면 그리드뷰에 들어갔다가도
다시 사라집니다... ㅠㅠ 왜 그런걸까요??
E/SELinux: [DEBUG] seapp_context_lookup: seinfoCategory = default
E/SELinux: [DEBUG] seapp_context_lookup: seinfoCategory = default
E/ViewRootImpl: sendUserActionEvent() mView == null
E/ViewRootImpl: sendUserActionEvent() mView == null
E/ViewRootImpl: sendUserActionEvent() mView == null
E/ViewRootImpl: sendUserActionEvent() mView == null