我需要在android中翻转textView中输入的文本。例如:
你好olleH
我需要旋转所有输入的文字...有人告诉我手动编辑每个字符串,但是我 不能这样做,因为它是一个textView,我不知道用户输入了什么。
这是我的代码(它是ActivityMain):
package com.LCPInt.reversealphabet;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;
public class ReverseMain extends Activity {
private static final String TAG = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reverse_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.reverse_main, menu);
return true;
}
public void normal(View view){
Log.e(TAG, "normale");
switch (view.getId()) {
case R.id.button1:
setContentView(R.layout.normal);
break;
}
}
public void reverse(View view){
Log.e(TAG, "reversed");
switch (view.getId()) {
case R.id.button2:
setContentView(R.layout.reversed);
break;
}
}
public void gen(View view){
Log.e(TAG, "generate");
Toast.makeText(this, "ciao", Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:1)
StringBuffer stringBuffer = new StringBuffer("Hello");
String reversed = stringBuffer.reverse().toString();
Here反向()的文档。
编辑:
String textViewText = textViewInstance.getText().toString();
StringBuffer stringBuffer = new StringBuffer(textViewText);
String reversed = stringBuffer.reverse().toString();
答案 1 :(得分:1)
不确定您的最终目标是什么,但您可能正在寻找用于为从右到左语言(例如阿拉伯语)提供正确文本方向的android:textDirection
属性。
请参阅android:textDirection documentation。
您可以在任何视图上设置此属性,而不仅仅是TextView。
其他答案将帮助您反转键入TextView的文本。该方法实际上允许用户以从右到左的方式输入字符串。取决于你的目标!
答案 2 :(得分:0)
试试这个:
static String reverseMe(String s) {
StringBuilder sb = new StringBuilder();
for(int i = s.length() - 1; i >= 0; --i)
sb.append(s.charAt(i));
return sb.toString();
}
答案 3 :(得分:0)
使用
new StringBuilder("hello").reverse().toString()