package com.openfarmanager.android.dialogs; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import com.openfarmanager.android.App; import com.openfarmanager.android.R; import com.openfarmanager.android.fragments.MainPanel; import com.openfarmanager.android.model.FileActionEnum; /** * Context menu action list dialog. * * author: Vlad Namashko */ public class FileActionDialog extends Dialog { private FileActionEnum[] mActions; private String[] mActionNames; private Handler mHandler; public FileActionDialog(Context context, FileActionEnum[] actions, Handler handler) { super(context, R.style.Action_Dialog); mActions = actions; mActionNames = FileActionEnum.names(actions); mHandler = handler; } @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); View view = View.inflate(App.sInstance.getApplicationContext(), R.layout.dialog_file_action_menu, null); final ListView actionsList = (ListView) view.findViewById(R.id.action_list); ArrayAdapter<String> adapter = new ArrayAdapter<String>( App.sInstance.getApplicationContext(), android.R.layout.simple_list_item_1, android.R.id.text1, (String[]) mActionNames) { @Override public View getView(int position, View convertView, ViewGroup parent) { View item = super.getView(position, convertView, parent); item.setMinimumWidth(actionsList.getWidth()); return item; } }; actionsList.setAdapter(adapter); actionsList.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { dismiss(); mHandler.sendMessage(Message.obtain(mHandler, MainPanel.SELECT_ACTION, mActions[i])); } }); setContentView(view); } }