/*
* Debts Manager. Simple android application for managing debts.
* Copyright (C) 2010 Maxim Manuylov
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/gpl-2.0.html>.
*/
package manuylov.maxim.dm.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.*;
public class ImprovedAutoCompleteTextEdit extends LinearLayout {
private final AutoCompleteTextView myAutoCompleteTextView;
private final Button myButton;
public ImprovedAutoCompleteTextEdit(final Context context) {
this(context, null);
}
public ImprovedAutoCompleteTextEdit(final Context context, final AttributeSet attrs) {
super(context, attrs);
setOrientation(HORIZONTAL);
myAutoCompleteTextView = new AutoCompleteTextView(context);
myAutoCompleteTextView.setInputType(EditorInfo.TYPE_CLASS_TEXT);
myButton = new Button(context);
myButton.setText("...");
myButton.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
myAutoCompleteTextView.showDropDown();
}
});
final LayoutParams textViewLayoutParams = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1);
textViewLayoutParams.gravity = Gravity.CENTER_VERTICAL;
addView(myAutoCompleteTextView, textViewLayoutParams);
final LayoutParams buttonLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
buttonLayoutParams.gravity = Gravity.CENTER_VERTICAL;
addView(myButton, buttonLayoutParams);
}
public <T extends ListAdapter & Filterable> void setAdapter(final T adapter) {
myAutoCompleteTextView.setAdapter(adapter);
}
public TextView asTextView() {
return myAutoCompleteTextView;
}
}
|