1

編集テキストから値を取得する方法。

こんにちは皆さん、編集テキストで利用できる編集テキストが非常に多いAndroidタスクの問題に直面しています。

ここに画像の説明を入力

1 から 4 までのすべての編集テキストの値を取得する必要があります..? 以下は、アダプターのビューの取得方法です。

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        if (convertView == null) {

            convertView = LayoutInflater.from(getContext()).inflate(R.layout.social_media_row, null);

            holder = new ViewHolder();

            holder.social_id = (EditText) convertView.findViewById(R.id.socialMediaId);

            convertView.setTag(holder);

            holder.social_id.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }
                @Override
                public void afterTextChanged(Editable s) {
                  Log.i("AfterTextChange",holder.social_id.getText().toString());
                }
            });
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        SocialMediaModel contact = contactsList.get(position);

        holder.social_id.setText(contact.getSocialMediaId());

        holder.social_id.setTag(contact);
        return convertView;
    }

更新: ユーザーがボタンをクリックしたときに値を取得したい

savebtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

  /here what i can do    


            }
        });
4

4 に答える 4

0

宣言でこれを宣言します

    protected AdapterView.OnItemClickListener messageClickedHandler;

アダプタ ビューを使用したリスト ビューのクリック イベント

   messageClickedHandler = new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView parent, View view, int position, long id) {
            String strName=rowItems.get(position).getStrName();
            Toast.makeText(getApplicationContext(),"Name : "+strName , Toast.LENGTH_LONG).show();
            }
        };
        list.setOnItemClickListener(messageClickedHandler);
    }

rowItems は配列リスト Object であり、ユーザー定義クラスの getStrName() です。

于 2016-09-24T13:21:59.723 に答える
0

パラメータとしてリスト位置を使用して、各 EditText に対して次のようなメソッドを実装できます。

public String getValueFromFirstEditText(int position){
      //here you need to recreate the id for the first editText
     String result = textValues.get("theFirstEditTextAtPos:"+position);
     if(result ==null)
          result = "default value";
 return result;

}

于 2016-09-24T07:43:27.283 に答える
0

このコードがお役に立てば幸いです

USE アダプターのセル位置

このコードに従ってください

getView 内 (アダプタ クラス内)

edittext.getText().toString();
于 2016-09-24T09:11:25.087 に答える