ListView内に配置したEditTextのpositionを取得する方法について

2,230 views
Skip to first unread message

shin

unread,
Jun 4, 2010, 1:44:34 AM6/4/10
to Android-SDK-Japan
いつも参考にさせて頂いております。
shinと申します。


現在、ListViewにEditTextを配置して、値の入力を行うアプリを作っているのですが、
値自体は、TextWatcherを使用して取ることが出来ました。

ですが、入力した行の値(position)が取れないため、複数行のどのEditTextから入力されているのかが不明です。


Buttonを配置し、クリックイベントを起動した場合は、positionがとれるのですが、

EditTextの場合は、「OnClickListener」、「OnFocusChangeListener」、「OnKeyListener」、
「OnEditorActionListener」等を試してみましたが、positionが入ってきません。

ListViewに配置した、EditTextを特定するには、どうしたらよいのでしょうか?


説明が分かり辛いかもしれませんが、皆さま、どうかお知恵をお貸し下さい。


class ListAdapter extends ArrayAdapter<ItemBean>{

  ~~~~~~~~

  private EditText mSuryo;

  public View getView(final int position, View convertView, ViewGroup
parent) {
    ~~~~~~
       /*
* ↓これはOK
*/
       mButton = (Button)convertView.findViewById(R.id.detailButton);
       mButton.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
     Toast.makeText(getContext(), "ポジション -- " + position,
Toast.LENGTH_SHORT ).show();
  }
       });

       /*
* ↓これはダメ!
*/
       mSuryo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(getBaseContext(), "ポジション -- " + position,
Toast.LENGTH_SHORT ).show();

}
});


  }




しんちゃん

unread,
Jun 4, 2010, 8:47:47 AM6/4/10
to Android-SDK-Japan
自己レスです。

すいません。
私の勘違いでした。


positionは、取得できました。

それと、特定の行のEditTextの値もとれました。


実際には、下記のようなコードです。

mSuryo.setOnEditorActionListener(new OnEditorActionListener() {
                    public  boolean onEditorAction(TextView txtView, int actionId, KeyEvent event) {
                        try {

            //↓ItemBeanのインスタンスに、EditTextの値をセット
                            list.get(position).setSuryo(Integer.valueOf(txtView.getText().toString()));
                            setListAdapter(adapter);
                        } catch(Exception e) {
                            Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_SHORT ).show();
                        }
                        return false;
                    }
                } );



ListViewの構築に関しては、下記のサイトを参考にさせて頂きました。

mucchinのAndroid戦記
http://android.roof-balcony.com/view/listview/custom/


2010年6月4日14:44 shin <js6...@gmail.com>:




--
このメールは Google グループのグループ「Android-SDK-Japan」の登録者に送られています。
このグループに投稿するには、android-...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-sdk-ja...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-sdk-japan?hl=ja からこのグループにアクセスしてください。


Reply all
Reply to author
Forward
0 new messages