ユーザーがクリックしたときにテキストを取得したいTextView
例えば :
TextView string = "this is a test for android and textView"
android
ユーザーが位置グラブでテキストビューをクリックすると、android
誰でもこれに対する解決策を持っていますか?
onClick リスナーを textview に割り当て、それを最終的なものにしてから、そのテキストを取得できます。
final TextView txt = (TextView) findViewById(R.id.txt);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String getTxt = txt.getText().toString();
}
});
TextView text = (TextView) findViewById(R.id.yourTextViewId);
text.onClickListner(this);
@Override
public void onClick() {
String textOnTextView = text.getText().toString();
}
これはあなたのニーズに対する解決策ではありません。しかし、解決への一歩だけ。
setTextIsSelectable(boolean)
またはXML 属性を使用TextView_textIsSelectable
して、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;
}
});
}
ボタンには onClick がありますが、ユーザーがクリックできるように TextView に onClick があるとは思いません。
私が間違っている場合は修正してください