我想在用户单击时抓取文本TextView
例如 :
TextView string = "this is a test for android and textView"
当用户点击android
位置抓取的文本视图时,android
任何人都有解决方案吗?
TextView text = (TextView) findViewById(R.id.yourTextViewId);
text.onClickListner(this);
@Override
public void onClick() {
String textOnTextView = text.getText().toString();
}
您可以为 textview 分配一个 onClick 侦听器,使其成为 final,然后获取其文本。
final TextView txt = (TextView) findViewById(R.id.txt);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String getTxt = txt.getText().toString();
}
});
这不是您需要的解决方案。但解决问题只有一步。
使用setTextIsSelectable(boolean)
或TextView_textIsSelectable
XML 属性使 TextView 可选择(默认情况下文本不可选择)。
使用以下代码,我设法将选定的文本作为字符串。您需要首先通过拖动来选择字符串。
注意:您需要最低API 11才能使用setTextIsSelectable(boolean)
TextView t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t1=(TextView) findViewById(R.id.textView1);
t1.setTextIsSelectable(true);// IMPORTANT
t1.setText("This is Android program");
t1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_UP:
int start=t1.getSelectionStart();
int end=t1.getSelectionEnd();
String sub=t1.getText().subSequence(start, end).toString();
Toast.makeText(getBaseContext(), sub, 1).show();
}
return true;
}
});
}
如果要选择部分文本,请尝试使用EditText
按钮具有 onClick ,我不认为 TextView 具有 onClick 以便用户单击它。
如果我错了,请纠正我