0

全て!私はAndroidの開発にかなり慣れていません。私はすでに多くの問題に遭遇し、それらのほとんどを自分で解決しました。いくつかは、ここや他のサイトで検索して解決しました. 私が現在直面している問題は、解決策を見つけることができないようです。ここにいる他の人が尋ねたものに近いですが、私の問題について何も見つかりません。

私は最初の大きなアプリの初期段階に取り組んでいます。この段階では、ユーザーが最初のページにサインインすると、アプリの残りの部分と機能へのアクセスが許可されます。現在、単純なログイン アプリの基本的な例を使用していますが、正常に動作しますが、結果が投稿されるまで最初のアクティビティを 2 番目のアクティビティの呼び出しから遅らせようとすると、2 番目のアクティビティが投稿され、呼び出されません。または、結果を投稿せず、とにかく先に進みます。また、現在、結果をまとめて 2 番目のアクティビティに表示しようとしています。後で変更しますが、正しく機能するかどうかを確認する必要があります。

これが私のコードです:(これが正しいかどうかはわかりません。初めてです!)

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Login button clicked
    ok = (Button)findViewById(R.id.btn_login);
    ok.setOnClickListener(this);

    result = (TextView)findViewById(R.id.lbl_result);


    final Handler handler1 = new Handler();
    handler1.postDelayed(new Runnable() {
        @Override
        public void run() {

            ok.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    final Bundle b = new Bundle();

                    EditText txt1 = (EditText)findViewById(R.id.editText1);
                    EditText txt2 = (EditText)findViewById(R.id.lbl_result);

                    b.putString("ID", txt1.getText().toString());
                    b.putString("PW", txt2.getText().toString());

                    final Handler handler2 = new Handler();
                    handler2.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            final Intent myIntent = new Intent(TempActivity.this, TempActivity2.class);             
                            myIntent.putExtras(b);
                            startActivity(myIntent);
                        }
                    }, 3000);                
                }
            });
        }
    }, 4000);
}   

私はこれについて間違った方法で進んでいますか?どんな助けでも大歓迎です!初心者は嫌だ!さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

ああ...私は知らない..それが実際に正しいかどうか..しかし、私があなたのコードを理解している限り...あなたは使用しています

 handler1.postDelayed(new Runnable() {

そしてその実行可能で

  public void run() {


ok.setOnClickListener(new View.OnClickListener() {

ここで..onClickListenerを設定しています..この行のために4秒後に発生します..

  }, 4000);

したがって、4秒前にクリックすると..onclicklistenerが設定されていないと思います...アプリケーションが起動してから4秒後のように..しばらく待ってから..クリックしてみてください...それならうまくいくはずです。

于 2012-04-11T18:49:41.390 に答える