現在、カスタムImageViewを作成しています。このimageviewを実際に変換するのは、複数の状態のボタンです。
私の場合、ボタンには3つの状態があり、「はい」と答え、「いいえ」と答え、「未答え」と答えます。ラジオグループ/ボタンは絶対に使いたくありません。
imageviewの基本的な設定があります。状態に応じて画像を適切に変更するonclick機能を備えています。今のところ、これは十字の付いたチェックボックス、空のチェックボックス、チェックの入ったチェックボックスです。
私が欲しいのは、状態が変化したとき(画像がクリックされたとき)にテキストが欲しいということです。テキストは常に周りにあり、画像ビューの上には決してないはずです。その値も変更します。customCompInstance.getText();に似たメソッドを呼び出せるようにしたい。customCompInstance.getText();
私が考えているのは、カスタムimageviewクラスにはTextViewメンバーが必要ですが、それを左側に配置し、imageviewに水平に配置する方法がわかりません。
xmlで2つの異なる要素を使用することはオプションではありません。
テキストビューを追加し、それをimageviewの右側に配置することは正しい解決策です。そうでない場合は、何を提案しますか。そうであれば、実際にこれを実現するためのヒントを教えてください。
私のクラスの簡略版:
public class AnswerImageView extends ImageView {
private AnswerState mSelectionState;
/**
* @param context
*/
public AnswerImageView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
setImageResource(R.drawable.answer_none);
setTag(R.drawable.answer_none);
mSelectionState = AnswerState.ANSWER_NONE;
}
/**
* @param context
* @param attrs
*/
public AnswerImageView(Context context, AttributeSet attrs)
{
super(context, attrs);
// TODO Auto-generated constructor stub
setImageResource(R.drawable.answer_none);
setTag(R.drawable.answer_none);
mSelectionState = AnswerState.ANSWER_NONE;
}
/**
* @param context
* @param attrs
* @param defStyle
*/
public AnswerImageView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
setImageResource(R.drawable.answer_none);
setTag(R.drawable.answer_none);
mSelectionState = AnswerState.ANSWER_NONE;
}
public AnswerState getSelectionState() {
return mSelectionState;
}
public void setSelectionState(AnswerState selectionState) {
this.mSelectionState = selectionState;
}
}
onclicksに反応するメソッドがあり、すべて正常に機能します。このコンポーネントにテキストビューを追加することについて純粋に質問しています。基本的に、2つのコンポーネントを1つに結合します。