0
public class MainActivity extends Activity implements OnClickListener, AdapterView.OnItemSelectedListener, OnCheckedChangeListener{

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    //Declare Variables to be used
    final Bundle bundle = new Bundle();
    final CheckBox checkbox01 = (CheckBox) findViewById(R.id.CheckBox01);


    //All if statements for builds
    final Button findbuilds = (Button) findViewById(R.id.btn_FindBuildsTab1);{
        findbuilds.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                 if ((v==findbuilds)&&(checkbox01.getText()==("Ahri-AP"))&&((checkbox01).isChecked())){
                     final String charactername = "Ahri-AP";
                 }
                 if ((checkbox01).isChecked(){
                   //All Bundles are placed here
                     bundle.putString("CharacterName Value Key", charactername);

                   //Start Tabhost Activity and pass bundle(s)
                     Intent nextActivity = new Intent(v.getContext(),
                     nextActivity.putExtras(bundle);
                     startActivity(nextActivity); TabHostActivity.class);
                 }

基本的に、私がやろうとしているのは、最初のifステートメントで文字の名前の文字列を作成し、それを別のifステートメントにバンドルすることです。文字列を別のifステートメントにバンドルする必要がある理由は、メソッドのバイト制限に達しないようにするためです。ifステートメントごとにバンドルする必要のある合計64の異なる文字列があり、発生する必要のある合計126のifステートメントがあります。もちろん、問題は、2番目のifステートメントのバンドルでString変数が見つからないか解決されないことです。これを行う方法はありますか?それとももっと効率的な方法ですか?助けてくれてありがとう!:)

4

1 に答える 1

0

変数の定義を if ステートメントの外に引っ張るだけです。例えば:

final String charactername 
if() {
    charactername = ...
}
if() {
    bundle stuff with charactername 
}
于 2012-06-05T17:26:20.113 に答える