我想在用户点击TextView
例如:
TextView string = "this is a test for android and textView"
当用户点击android
位置抓取android
时的textview时
有人有解决方案吗?
答案 0 :(得分:1)
TextView text = (TextView) findViewById(R.id.yourTextViewId);
text.onClickListner(this);
@Override
public void onClick() {
String textOnTextView = text.getText().toString();
}
答案 1 :(得分:1)
您可以将onClick侦听器分配给textview,使其成为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();
}
});
答案 2 :(得分:0)
答案 3 :(得分:0)
按钮有onClick,我不认为TextView有onClick,以便用户点击它。
如果我错了,请纠正我
答案 4 :(得分:0)
如果您想选择部分文字,请尝试使用EditText
答案 5 :(得分:0)
这不是您需要的解决方案。但只有一步到解决方案。
使用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;
}
});
}