0

我需要在 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();

}
4

4 回答 4

1
StringBuffer stringBuffer = new StringBuffer("Hello");
String reversed = stringBuffer.reverse().toString();

这里是 reverse() 的文档。

编辑:

String textViewText = textViewInstance.getText().toString();
StringBuffer stringBuffer = new StringBuffer(textViewText);
String reversed = stringBuffer.reverse().toString();
于 2013-07-22T10:30:39.127 回答
1

不确定您的最终目标是什么,但您可能正在寻找用于android:textDirection为从右到左的语言(例如阿拉伯语)提供正确文本方向的属性。

请参阅android:textDirection 文档

您可以在任何视图上设置此属性,而不仅仅是 TextView。

其他答案将帮助您反转输入到 TextView 中的文本。此方法实际上将允许用户以从右到左的方式输入字符串。看你追求什么了!

于 2013-07-22T10:38:08.667 回答
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();
 }
于 2013-07-22T10:28:32.923 回答
0

利用

new StringBuilder("hello").reverse().toString()
于 2013-07-22T10:36:07.160 回答