我正在开发一个应用程序,其中我有一个活动,其中有三个radiobuttons。 这是我的.xml代码......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp"
android:hint="@string/hint"
android:ems="10" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:layout_marginLeft="30dp"
android:gravity="center" >
<RadioButton
android:id="@+id/rad1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="@string/rad1" />
<RadioButton
android:id="@+id/rad2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:text="@string/rad2" />
<RadioButton
android:id="@+id/rad3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rad3"
android:layout_marginLeft="8dp" />
</RadioGroup>
</RelativeLayout>
我想以text,Hexadecimal,Decimal格式转换edittext的输入。 默认情况下,它是Text值。 当用户选择Hex单选按钮时,Text应转换为Hex。 之后,当用户选择Decimal时,则Hex应转换为Decimal ... 我的问题是当用户输入单格式时,如何转换其他两种格式。 我有转换的逻辑...... 请帮帮我......谢谢......
答案 0 :(得分:0)
简单,只需更改单选按钮onclicklisteners
上的编辑文本输入类型 radio_bt_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
et_note_title.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
}
});
radio_bt_2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
et_note_title.setInputType(InputType.TYPE_CLASS_TEXT);
}
});
并相应更改您的输入类型。
答案 1 :(得分:0)
现在我们走吧...... 在一天结束时...... 最后
import android.os.Bundle;
import android.app.Activity;
import android.text.InputType;
import android.view.Menu;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class MainActivity extends Activity {
private EditText et;
private RadioGroup rg;
int var=1 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.editText1);
rg = (RadioGroup) findViewById(R.id.radioGroup);
//rg.check(R.id.rad1);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
//D to T
if(arg1==R.id.rad1)
{
if(var==2)
{
char msg;
int num=0;
String str =et.getText().toString();
et.setText("");
String[] str1= str.split(" ");
String stringToAppend= "";
for(int i=0;i<str1.length;i++)
{
num=Integer.parseInt(str1[i]);
msg=(char) num;
String out = Character.toString(msg);
stringToAppend += out ;
}
et.setText(stringToAppend);
// stringToAppend="";
var=1;
}
//H to T
if(var==3)
{
String string;
string = et.getText().toString();
et.setText("");
String[] str1=string.split(" ");
StringBuilder sb= new StringBuilder();
String strAppend="";
int a=0;
for(int i=0;i<str1.length;i++)
{
int hex = Integer.parseInt(str1[i], 16);
sb.append(hex + " ");
}
char msg;
int num=0;
String str =sb.toString();
String[] str2= str.split(" ");
String stringToAppend= "";
for(int i=0;i<str2.length;i++)
{
num=Integer.parseInt(str2[i]);
msg=(char) num;
String out = Character.toString(msg);
stringToAppend += out ;
}
et.setText(stringToAppend);
var=1;
}
//var=0;
}
if(arg1== R.id.rad2)
{
// T to D
if(var==1)
{
try
{
String myString=et.getText().toString();
et.setText("");
String stringToAppend ="";
for(char item : myString.toCharArray())
{
stringToAppend += ( (int)item) + " ";
}
et.setText(stringToAppend);
//stringToAppend="";
var=2;
}
catch(NumberFormatException e)
{
e.printStackTrace();
}
}
if(var==3)
{
//H to D
String str;
str = et.getText().toString();
et.setText("");
String[] str1=str.split(" ");
StringBuilder sb= new StringBuilder();
String strAppend="";
int a=0;
for(int i=0;i<str1.length;i++)
{
int hex = Integer.parseInt(str1[i], 16);
sb.append(hex + " ");
}
et.setText("" + sb);
//sb.setLength(0);
var=2;
}
}
if(arg1==R.id.rad3)
{
//T to H
if(var==1)
{
String str;
str = et.getText().toString();
et.setText("");
char[] chars = str.toCharArray();
StringBuffer strBuffer = new StringBuffer();
for (int i = 0; i < chars.length; i++) {
strBuffer.append(Integer.toHexString((int) chars[i]) + " ");
}
et.setText("" + strBuffer + "");
//strBuffer.setLength(0);
var=3;
}
//D to H
if(var==2)
{
String str =et.getText().toString();
et.setText("");
String[] str1= str.split(" ");
String stringToAppend ="";
for(int i=0;i<str1.length;i++)
{
stringToAppend += Integer.toHexString(Integer.parseInt(str1[i])) + " ";
}
et.setText(stringToAppend);
// stringToAppend="";
var=3;
}
}
}
});
}
}
完整解决方案......