마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

notifyDataSetChanged 관련 질문입니다.

0 추천
if (data != null) {
// 화면 출력
TextView tv = (TextView) view.findViewById(R.id.name);
TextView tv2 = (TextView) view.findViewById(R.id.detailtxt);
TextView tv3 = (TextView) view.findViewById(R.id.mbtxt);
tv.setText(data.getName());
tv2.setText(data.getDetail());
tv3.setText(data.getMB());
 
final ImageView iv = (ImageView) view.findViewById(R.id.image_url);
// iv.setImageResource(data.getImg());
iv.setBackground(null);
if (data.getval() == false) {
iv.setBackground(getResources().getDrawable(R.drawable.down));
}else {
iv.setBackground(getResources().getDrawable(R.drawable.play));
}
Button btn = (Button) view.findViewById(R.id.downbtn);
btn.setTag(position);
btn.setOnClickListener(new View.OnClickListener() {
 
@Override
public void onClick(View v) {
if (data.getval() == false) {
AlertDialog.Builder builder = new AlertDialog.Builder(MovieActivity.this);
builder.setMessage("다운중.");
builder.setCancelable(false);
builder.setPositiveButton("확인", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
new DownloadFileAsync(MovieActivity.this , file_name[position]).execute(url_skip+file_name[position]);
iv.setBackground(getResources().getDrawable(R.drawable.play));
}
});
builder.setNegativeButton("취소", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
AlertDialog alert_shut = builder.create();
alert_shut.show();
 
}else if (data.getval() == true) {
AlertDialog.Builder alt_shut = new AlertDialog.Builder(MovieActivity.this);
alt_shut.setMessage("이미 동영상이 존재합니다.")
.setCancelable(false)
.setNegativeButton("취소", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert_shut = alt_shut.create();
alert_shut.show();
}
}
});
 
Button btn1 = (Button) view.findViewById(R.id.playbtn);
btn1.setTag(position);
btn1.setOnClickListener(new View.OnClickListener() {
 
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (data.getval() == false) {
AlertDialog.Builder alt_shut = new AlertDialog.Builder(MovieActivity.this);
alt_shut.setMessage("파일이 없습니다.")
.setCancelable(false)
.setNegativeButton("취소", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert_shut = alt_shut.create();
alert_shut.show();
}else if (data.getval() == true){
AlertDialog.Builder builder = new AlertDialog.Builder(MovieActivity.this);
builder.setMessage("다운받으신 동영상을 재생하시겠습니까?");
builder.setCancelable(false);
builder.setPositiveButton("확인", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
if (File_extend.equals("mp4")) {
intent.setDataAndType(Uri.parse(File_folder+ file_name[position]) , "video/*"); }
startActivity(intent);
}
});
 
builder.setNegativeButton("취소", new OnClickListener() {
 
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel();
}
});
AlertDialog alert_shut = builder.create();
alert_shut.show();
}
}
 
});
 
}
return view;
}
}
 
소스내용입니다... 내용은 이렇습니다.
리스트뷰 안에 각각의 동영상 이미지 와 텍스트몇개 그리고 버튼 두개가 들어갑니다.
첫번째 버튼은 다운로드 버튼이며 두번째 버튼은 재생하기 버튼입니다.
 
첫번째 버튼을 눌렀을 때 다운이 되며, A란 이미지에서 B이미지로 바꾸는건 notifyDataSetChanged 가 아닌 하드코딩으로 저런식으로 해놨습니다.
첫번째 버튼을 눌러 다운 후, 두번째 버튼을 누루면 파일검색 후 있으면 재생이되야되는데 앱을 뒤로갔다 다시들어와야
재생이 되며, 다운받은 뒤 바로 재생하기 버튼을 누루면 파일이 없다고 뜹니다.
 
notifyDataSetChanged  를 써써 바꾸게 해야되는데 걍 notifyDataSetChanged 만 넣어서 해보니 안되서 뭔가 추가적인게 필요하다 느껴졌습니다. 그 추가적인 부분에 있어서 어떤방식으로 해야되는지 잘모르겠네요...
도움좀 부탁드립니다
 
콜벳 (7,150 포인트) 님이 2014년 8월 5일 질문
다운됐을 때의 로그를 보여주세요...
그리고 http://www.masterqna.com/android/1 이 글도 읽어보시구요
링크가 잘못된거같습니다;
http://www.masterqna.com/android/1 이 링크는 잘 동작하고 있습니다

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...