0

私のアプリケーションでは、ユーザーはラジオ ボタンを選択して、この選択でスポーツをしたいプレーヤーが何人いるかを示します。その後、番号は別のアクティビティに送信されて表示されます。可能であれば、ラジオボタンのIDを取得して「ラジオ」部分を取り除き、整数4〜10だけを残すにはどうすればよいですか?

package teamBuilder;

import com.jonahwitcig.team.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;


public class CorrectedActivity extends Activity {
    /** Called when the activity is first created. */

    TextView player1, team1;
    Button next;
    RadioGroup RBGroup;
    RadioButton RB4, RB5, RB6, RB7, RB8, RB9, RB10;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.players);

        next = (Button) findViewById(R.id.next);
        //the name of a textView i will be displaying a number in
        team1 = (TextView) findViewById(R.id.team1);
        RB4 = (RadioButton) findViewById(R.id.radio4);
        RB5 = (RadioButton) findViewById(R.id.radio5);
        RB6 = (RadioButton) findViewById(R.id.radio6);
        RB7 = (RadioButton) findViewById(R.id.radio7);
        RB8 = (RadioButton) findViewById(R.id.radio8);
        RB9 = (RadioButton) findViewById(R.id.radio9);
        RB10 = (RadioButton) findViewById(R.id.radio10);
        //names of my radio buttons
        RBGroup = (RadioGroup) findViewById(R.id.RBGroup);



        RBGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

            public void onCheckedChanged(RadioGroup RBGroup, int checkedId) {

                team1.setText(checkedId);
            }
        });
4

1 に答える 1

0

これは推奨されませんが(大量のバッチで実行すると逆ルックアップは非常に遅くなりますが、まれに実行すると目立たなくなります)、正しい解決策があります(独自のエラーチェック/処理を含める必要があることに注意してください不正な形式の識別子文字列):

String resName = getResources().getResourceEntryName(checkedId);
String number = resName.substring(5);
int num = Integer.parseInt(number);
于 2012-04-15T00:38:17.507 に答える