web-dev-qa-db-ja.com

android EclipseボタンのOnClickイベント

Main_activity.xmlとhome.xmlの2つのファイルがあります。 main_activity.xmlにボタンを作成しました

コードスニペットは次のとおりです。

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
 xmlns:tools="http://schemas.Android.com/tools"
 Android:layout_width="match_parent"
 Android:background="@drawable/splash_background"
 Android:layout_height="match_parent"
 Android:paddingBottom="@dimen/activity_vertical_margin"
 Android:paddingLeft="@dimen/activity_horizontal_margin"
 Android:paddingRight="@dimen/activity_horizontal_margin"
 Android:paddingTop="@dimen/activity_vertical_margin"
 tools:context=".MainActivity" >

<Button
    Android:id="@+id/Home"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentRight="true"
    Android:layout_alignParentTop="true"
    Android:layout_marginRight="43dp"
    Android:onClick="home"
    Android:text="Home" />

</RelativeLayout>

そして、home.xmlがあります。ボタンでhome.xmlを開きたいのですが。これどうやってするの?私はJavaを知りません、そして私はAndroid開発に不慣れです。

これが私のhome.xmlです:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:background="@drawable/app_bg"
    Android:layout_height="match_parent"
    Android:orientation="vertical" >


</LinearLayout>

そして以下は私のAndroidManifest.xmlです:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
 package="com.example.idozer"
 Android:versionCode="1"
 Android:versionName="1.0" >

 <uses-sdk
    Android:minSdkVersion="8"
    Android:targetSdkVersion="17" />

 <application
    Android:allowBackup="false"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme" >
    <activity
        Android:name="com.example.idozer.SplashActivity"
        Android:label="@string/app_name" >
        <intent-filter>
            <action Android:name="Android.intent.action.MAIN" />

            <category Android:name="Android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity Android:name="com.example.idozer.MainActivity"
        Android:label="@string/app_name" >
    </activity>
</application>
</manifest>

そして、それは私が持っているすべてです。返信する場合は、ディレクトリなどのコードを追加する場所やコードスニペットの間に教えてください。

5

Androidでクリックアクティビティを管理するには、次のようにします

  1. YourActivity.JavaクラスのようなOnClickListenerを実装します

    _public class MainActivity extends Activity implements OnClickListener_

  2. 次に、次のような.Javaクラスでボタンを宣言します。

    Button btn = (Button) findViewById(R.id.btnPlay);

  3. 次に、ボタンbtn変数を以下のように使用します

    _btn.setOnClickListener(new View.OnClickListener() {
    
        public void onClick(View v) {
            myClick(v); /* my method to call new intent or activity */
        }
    });
    _
  4. クリックイベントを処理します。

    _public void myClick(View v) {
        Intent intent = new Intent(**this, Swipe.class**);
        startActivity(intent);// for calling the activity
    }
    _

また、以下のように_Android manifest_にアクティビティ(.Java)を登録する必要があります。

_<activity
    Android:name=".Swipe"
    Android:screenOrientation="landscape" >
</activity>
_
8
Kirtikumar A.

このコードを使用できます。

Android:OnClickListener

アクティビティクラスにonclickメソッドを追加します。

アクティビティクラスに、onclickメソッドを追加します。

    //On click event for button1
public void button1OnClick(View v) {
    //Inform the user the button has been clicked
    Toast.makeText(this, "Button1 clicked.", Toast.LENGTH_SHORT).show();               
}

レイアウトファイルで、アクティビティのonclickハンドラーへの参照を追加します。アプリは自動的にonclickメソッドをビュー(この場合はbutton1)にバインドします

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical">

        <Button
            Android:id="@+id/button1"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/button1"
            Android:onClick="button1OnClick"/>
</LinearLayout>
2

別のクラスを作成するプロジェクトに移動し、右クリックしてクラスをクリックし、ホームを作成します。そのホームクラスファイルでアクティビティを拡張し、次のようなコードを追加します

public class Home extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);
  }
}

in スプラッシュアクティビティクラスこの行を追加

Intent intent = new Intent(SplashActivity.this,Home.class);
startActivity(intent);

Androidマニフェストファイルにホームアクティビティクラスを追加します

<activity Android:name="com.example.idozer.Home"
    Android:label="@string/app_name" >
</activity>
1

Android:onClickはAPIレベル4で追加され、より簡単に、よりJavascriptのようになり、XMLからすべてを駆動できるようになりました。内部で行うことは、OnClickListenerButtonを追加することです。これは、ホームメソッドを呼び出します。

<Button
  Android:id="@+id/Home"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:layout_alignParentRight="true"
  Android:layout_alignParentTop="true"
  Android:layout_marginRight="43dp"
  Android:onClick="home"
  Android:text="Home" />

public void home(View view){
  Intent intent=new Intent (view.getContext(),Luton.class);
  this.startActivity(intent);
}

あなたの活動クラスで

Javaコードを使用すると、xmlからボタンのIDを取得することでボタンクリックを実行できます。

<Button
  Android:id="@+id/myHomeButton"
  Android:layout_width="wrap_content"
  Android:layout_height="wrap_content"
  Android:layout_alignParentRight="true"
  Android:layout_alignParentTop="true"
  Android:layout_marginRight="43dp"
  Android:text="Home" />

Button button= (Button) findViewById(R.id.myHomeButton);
button.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
     //do whatever you want on button click
  }
});   

どちらもまったく同じです

0
Raghunandan

この回答は、onClick()をこのように使用するのに問題がある他の人を助けるかもしれないので、あなたが始めるために少しだけあなたに与えますが、あなたは本当にJavaとAndroid Docsを通過して、より良い質問をすることができます

HereActviitiesとその作成方法について読む必要があります。次に、コードに関数があります

_ public void home(View v)  //the name of this function comes from where you declared in your manifest `Android:onClick="home"
{
     Intent intent (MainActivity.this, HomeActivity.class); //MainActivity is the name of current activity and HomeActivity is the name of the activity you want to start
     can add intent extras/flags/categories here
     startActivity(intent);
}
_

また、他のHomeActivityの場合と同様に、manifestActivitiesを追加する必要があります。

ただし、Androidフレームワークがどのように動作するかを理解するには、ドキュメントを確認し、いくつかのチュートリアルを実行する必要があります。また、Java onClick()のさまざまな使用方法があるため、クリックイベントについては、前の2つのリンクに加えて、 この投稿 も参照してください。

これで十分に始められることを願っています。また、ドキュメントを読んで、自分が何をしているかをよりよく理解できることを願っています。頑張って!

始めるためのもう1つの重要なリンク

意図

0
codeMagic
Button button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(MainActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
        }
    });
0
Omid Farvid