package playlist;
import java.util.ArrayList;
import utem.co.kr.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class serverlist extends Activity {
LayoutInflater inflater;
ListView ListSell;
public static ArrayList<String> aid = new ArrayList<String>();
public static ArrayList<String> dbsubject = new ArrayList<String>();
public static ArrayList<String> dbname = new ArrayList<String>();
public static ArrayList<String> dbdate = new ArrayList<String>();
public static ArrayList<String> dbhomepage= new ArrayList<String>();
public static ArrayList<String> dbmemo = new ArrayList<String>();
public static boolean checkDelete = false;
public static String chnum = "1";
movie_adapter adapter;
int low=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
chnum = intent.getStringExtra("num");
setContentView(R.layout.serverlist);
ListSell = (ListView) findViewById(R.id.ListView_sell);
SendCgNo send = new SendCgNo(this, chnum);
send.setDaemon(true);
send.start();
adapter = new movie_adapter(this, null);
}
public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
String result = msg.getData().getString("RESULT");
if (result.equals("success")) {
ListSell.setAdapter(adapter);
Log.e("parsing", "ok");
}
}
};
}
class movie_adapter<T> extends BaseAdapter {
private final LayoutInflater mInflater;
serverlist activity;
public movie_adapter(final Context context, final T[] array) {
this.mInflater = LayoutInflater.from(context);
activity = (serverlist) context;
}
@Override
public int getCount() {
return activity.dbname.size();
}
@Override
public T getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
try {
return Integer.parseInt(activity.dbname.get(position));
} catch (Exception e) {
return position;
}
}
class ViewHolder {
TextView jemog;
TextView date1;
TextView name;
Button button;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_view_row, null);
// Creates a ViewHolder and store references to the two children
// views
// we want to bind data to.
holder = new ViewHolder();
holder.jemog = (TextView) convertView
.findViewById(R.id.list_view_row_jemog);
holder.jemog.setTag(position);
holder.jemog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("LOG_TAG", "label click position=" + position);
int labelposition;
labelposition = (Integer) holder.jemog.getTag();
if (labelposition == position) {
Log.d("제목", "제목position" + position);
}
}
});
holder.button = (Button) convertView
.findViewById(R.id.list_view_row_button);
holder.button.setTag(position);
holder.button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.d("LOG_TAG", "button click position=" + position);
int btnposition;
activity.low = position;
btnposition = (Integer) holder.button.getTag();
if (btnposition == position) {
Log.d("버튼", "버튼position" + position);
String number = activity.aid.get(position);
Log.d("number", "aid" + number);
String memo = activity.dbmemo.get(position);
Log.e("memo",memo);
Toast t=Toast.makeText(activity.getApplicationContext(), memo, Toast.LENGTH_LONG);
t.show();
try {
AlertDialog.Builder builder = new AlertDialog.Builder(activity.getApplicationContext());
AlertDialog dialog=builder.create();
dialog.show();
} catch (Exception e) {
Log.e("AlertDialog","AlertDialog no");
e.printStackTrace();
}
/*dialog(activity);*/
}
}
});
holder.date1 = (TextView) convertView
.findViewById(R.id.list_view_row_date);
holder.name = (TextView) convertView
.findViewById(R.id.list_view_row_name);
holder.jemog.setText(activity.dbsubject.get(position));
holder.button.setText("상세");
holder.date1.setText(activity.dbdate.get(position));
holder.name.setText(activity.dbname.get(position));
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
/*private void dialog(Context context){
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("상세보기");
// builder.setMessage(activity.dbmemo.get(activity.low));
builder.setPositiveButton("확인",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
AlertDialog dialog = builder.create();
dialog.show();
}*/
}
토스트는 제대로 동작하나 다이어로그가 안뜨고 이런 메세지가 뜹니다.
보니까 serverlist 엑티비티를 제대로 못찾아서 나는 오류같은데 혹시 해결방법있으시면
알려주시면 감사하겠습니다!!
어답터 안에서 다이얼로그를 호출해서 그렇습니다.
핸들러 만드시고 어답터 안 클릭 이벤트에 핸들러로 메시지 보내서
핸들러에서 메세지 받아서 다이얼럭 띠우는 식으로 설계해 보세요




AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
builder.setMessage("Message");
builder.show();
메시지하고 타이틀 등이 없어보이는데요? 이것 때문이 아닐지...