package com.ztspeech.simutalk2.qa.view;
import java.util.ArrayList;
import android.app.Dialog;
import android.content.Context;
import android.media.AudioManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.ztspeech.simutalk2.R;
public class DirWordSelectDialog extends Dialog implements OnClickListener {
public interface SimuTalkSendDialogListener {
public void onClick();
}
private TextView titleText;
private Button cancelBtn;
private Button okBtn;
private RelativeLayout bottomLayout01;
private SimuTalkSendDialogListener okListener;
private SimuTalkSendDialogListener cancelLisenter;
private ListView listview;
private MyAdpter myAdapter;
private ArrayList<String> datas = null;
public DirWordSelectDialog(Context context) {
super(context, R.style.dialog);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
setContentView(R.layout.list_layout);
titleText = (TextView) findViewById(R.id.title);
titleText.setText("���ѡ��:");
cancelBtn = (Button) findViewById(R.id.BtnCancel);
okBtn = (Button) findViewById(R.id.BtnOK);
listview = (ListView) findViewById(R.id.smsList);
myAdapter = new MyAdpter(context);
listview.setAdapter(myAdapter);
bottomLayout01 = (RelativeLayout) findViewById(R.id.layoutBottom01);
cancelBtn.setOnClickListener(this);
okBtn.setOnClickListener(this);
okBtn.setText(context.getString(R.string.OK_Txt));
cancelBtn.setText(context.getString(R.string.CANCEL_Txt));
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.BtnOK:
dismiss();
if (okListener != null) {
okListener.onClick();
}
break;
case R.id.BtnCancel:
dismiss();
if (cancelLisenter != null) {
cancelLisenter.onClick();
}
break;
}
}
/**
*
* ���öԻ���ı���
*/
public DirWordSelectDialog setTitle(String title) {
this.titleText.setText(title);
return this;
}
/**
* ��������ȷ����ȡ����ť������
*/
public DirWordSelectDialog setButton(SimuTalkSendDialogListener okListener,
SimuTalkSendDialogListener cancelListener) {
this.okListener = okListener;
this.cancelLisenter = cancelListener;
return this;
}
/**
* ����ȷ����ȡ����ť���ı��ͼ�����
*/
public DirWordSelectDialog setButton(String oktext, String cancelText, SimuTalkSendDialogListener okListener,
SimuTalkSendDialogListener cancelListener) {
bottomLayout01.setVisibility(View.GONE);
if (oktext != null && !oktext.trim().equals("")) {
okBtn.setText(oktext);
}
if (cancelText != null && !cancelText.trim().equals("")) {
cancelBtn.setText(cancelText);
}
this.okListener = okListener;
this.cancelLisenter = cancelListener;
return this;
}
public DirWordSelectDialog setItems(ArrayList<String> datas, OnItemClickListener listener) {
listview.setVisibility(View.VISIBLE);
this.datas = datas;
if (listener != null) {
listview.setOnItemClickListener(listener);
}
myAdapter.notifyDataSetChanged();
return this;
}
public void notifyDataSetChanged() {
myAdapter.notifyDataSetChanged();
}
private class MyAdpter extends BaseAdapter {
private LayoutInflater layoutInflater = null;
public MyAdpter(Context context) {
layoutInflater = LayoutInflater.from(context);
}
public int getCount() {
if (datas == null) {
return 0;
} else {
return datas.size();
}
}
public Object getItem(int position) {
if (datas == null) {
return null;
} else {
return datas.get(position);
}
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = null;
ViewHolder viewHolder;
if (convertView == null) {
viewHolder = new ViewHolder();
v = layoutInflater.inflate(R.layout.list_layout_item, null);
viewHolder.result = (TextView) v.findViewById(R.id.smsname);
v.setTag(viewHolder);
} else {
v = convertView;
viewHolder = (ViewHolder) v.getTag();
}
viewHolder.result.setText(datas.get(position));
return v;
}
private final class ViewHolder {
public TextView result;
}
}
}