-3

Androidアプリで、フラグが1に設定されているボタンをクリックしてから、何かを行うために1に設定されているかどうかを確認します。しかし、うまくいきません!

public class MainActivity extends Activity {
    Button button1;
    TextView text1;
    int flag=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);;
        text1 =(TextView) findViewById(R.id.text1);
        button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                flag = 1;
            }
        });


    if(flag == 1 ){
        text1.setText("Manoj Kumar S");

    }
}

このロジックは機能していないようです。なんで?

4

4 に答える 4

0

おそらくあなたはこのようなものが欲しい

public class MainActivity extends Activity {
Button button1;
TextView text1;
int flag=0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);;
    text1 =(TextView) findViewById(R.id.text1);
    button1 = (Button) findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            flag = 1;
            updateTextView();
        }
    });
}

 private void updateTextView() {
   if(flag == 1 ){
    text1.setText("Manoj Kumar S");
   }

 }

}
于 2013-05-11T19:39:26.157 に答える
0

また、ボタンは A--C で述べられているようにイベント駆動型であるため、ロジックが正しくないと思います。いくつかの異なるものを試してください..

int flag=0;
button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v)
    {
              flag=1;
              test();
    }
});
private void test()
{
    if(flag==1)
        text1.setText("Do your stuff..");
}
于 2013-05-11T19:59:46.947 に答える