Я хочу скопировать значение textview из элемента списка в буфер обмена, нажав кнопку, находящуюся в элементе listview. Я могу получить значение textview из элемента listview в listview onitemclick. Но я хочу получить это значение, используя контекстное меню. Итак, как я могу получить значение из элемента listview. У меня есть TextView в держатель class.Here мой код:Как скопировать значение textview из элемента списка в буфер обмена, используя контекстное меню в android?
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
final ViewHolder holder;
LayoutInflater li = getActivity().getLayoutInflater();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(getActivity().LAYOUT_INFLATER_SERVICE);
if (v == null) {
holder = new ViewHolder();
v = inflater.inflate(R.layout.single_row, parent, false);
holder.favourit_style = (ImageView) v.findViewById(R.id.favourit_style);
holder.share_style = (ImageView) v.findViewById(R.id.share_style);
holder.textView = (TextView) v.findViewById(R.id.text_Style);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
editText.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) {
holder.textView.setText("" + s.toString() + "");
}
});
registerForContextMenu(holder.share_style);
return v;
}
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case COPY:
ViewHolder h = new ViewHolder();
String s = h.textView.getText().toString();
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(s);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", s);
clipboard.setPrimaryClip(clip);
}
break;
return super.onContextItemSelected(item);
}
вы можете видеть, что текст, который заполнен в списке, получен из edittext. Как получить текстовое значение с помощью кнопки share_style? –
Как мне скопировать содержимое строки? ViewHolder h = новый ViewHolder(); Строка s = h.textView.getText(). ToString(); Не работает. –
ОК, позвольте мне ввести код ... –