0

ボタンを押すだけで、あるクラスから別のクラスにプログラムを移動させようとしています。これは意図的に行う必要があることはわかっていますが、意図的にどのアクションを使用すればよいか正確にはわかりません。また、私がしなければならないことに対して少し過剰に思えるので、私はむしろ OnClickListener を使用しようとしません。私は間違っているかもしれませんが、私はそれを考えすぎています。これが私がコードのために持っているものです:

 public void loginScreen(View view) {
   // Should take user to the next view when button pressed
      Intent intent = new Intent(this, LoginActivity.class);
      Button login = (Button) findViewById(R.id.button1);
      intent.getData(login);
      startActivity(intent);
    }

button1 だけを押したときに次の画面に移動するようにしたいので、3 行目と 6 行目だけが必要かどうかはわかりませんが、この 2 つだけでは機能しません。問題は getData だと思います。そこに何を入れればよいかわかりませんが、getData が間違っていることはわかっています。おそらく他にも何かが足りないのですが、何がわかりません。

また、ここで質問するのは初めてなので、わかりにくい場合はご容赦ください。

4

2 に答える 2

1

onClickListener を明示的に設定しない場合:

<button
    ...
    android:onClick="loginClicked" />

public void loginClicked(View v) {
    Intent intent = new Intent(this, LoginActivity.class);
    startActivity(intent);
}

また、 onClickListener を明示的に設定することはやり過ぎではありません。

あなたの質問は完全に明確ではありません。さらに必要な場合はお知らせください。回答を編集します。

于 2013-02-17T18:33:28.783 に答える
1

XML ファイルで、オンクリックを宣言できます。

<Button
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:onClick="loginScreen" />

次に、アクティビティで:

public void loginScreen(View button) {
  Intent intent = new Intent(this, LoginActivity.class);
  startActivity(intent);
}

onClick ビュー APIは次のとおりです。

ビューがクリックされたときに呼び出す、このビューのコンテキスト内のメソッドの名前。この名前は、View 型のパラメーターを 1 つだけ取る public メソッドに対応している必要があります。たとえば、android:onClick="sayHello" を指定する場合、コンテキスト (通常はアクティビティ) の public void sayHello(View v) メソッドを宣言する必要があります。

Fragment レイアウトに onClick を追加する場合でも、Activity でキャッチする必要があることに注意してください。

于 2013-02-17T18:34:30.417 に答える