2016-06-20 6 views
0

クリック可能なイメージを使用してメニューを作成しようとしていますが、動作していないようですね。私は、チュートリアルの次だったし、メニューはクリック可能な画像を使用していますか?

Intent biodata = new Intent(mainActivity.this, profile.class); 

のようなものを使用していますが、私が何か他のものを探してみましたし、誰かがこの

....のv.getContext()instadを使用するように言ったので、働いていません他のページでも動作しますが、このページでは動作しません。

mainActivity.java

package skripsi.garden; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 

public class mainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public ImageButton buttonBio; 

    public void init(){ 
     buttonBio= (ImageButton)findViewById(R.id.buttonBio); 
     buttonBio.setOnClickListener(new View.OnClickListener() { 
             @Override 
             public void onClick(View v) { 
              Intent biodata = new  Intent(v.getContext(), profile.class); 

              startActivity(biodata); 
             } 
            } 


     ); 
    } 

    public ImageButton buttonList; 

    public void tombollist(){ 
     buttonList=(ImageButton)findViewById(R.id.buttonList); 
     buttonList.setOnClickListener(new View.OnClickListener() { 
              @Override 
              public void onClick(View v) { 
               Intent listTaman = new Intent(v.getContext(), gardenlist.class); 

               startActivity(listTaman); 
              } 
             } 


     ); 
    } 

    public ImageButton buttonWeather; 

    public void tombolcuaca(){ 
     buttonWeather=(ImageButton)findViewById(R.id.buttonWeather); 
     buttonWeather.setOnClickListener(new View.OnClickListener() { 
              @Override 
              public void onClick(View v) { 
               Intent cuaca = new Intent(v.getContext(), weather.class); 

               startActivity(cuaca); 
              } 
             } 
     ); 
    } 
} 

と、これはXML activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    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" 
    android:background="@drawable/foliagemain" 
    tools:context="skripsi.garden.mainActivity"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView3" 
     android:src="@drawable/selamatdatang" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonBio" 
     android:src="@drawable/buttonbiodata" 
     android:layout_above="@+id/buttonList" 
     android:layout_alignRight="@+id/buttonWeather" 
     android:layout_alignEnd="@+id/buttonWeather" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonList" 
     android:src="@drawable/buttondaftartaman" 
     android:layout_above="@+id/buttonHelp" 
     android:layout_alignLeft="@+id/buttonHelp" 
     android:layout_alignStart="@+id/buttonHelp" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonHelp" 
     android:src="@drawable/buttonhelp" 
     android:layout_above="@+id/buttonWeather" 
     android:layout_alignLeft="@+id/buttonBio" 
     android:layout_alignStart="@+id/buttonBio" /> 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonWeather" 
     android:src="@drawable/buttoncuaca" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" /> 



</RelativeLayout> 

答えて

1

では、あなたのonCreateメソッドであなたのボタンを入れてください。彼らは自分の方法でする必要はありません。

public class mainActivity extends AppCompatActivity { 

    public ImageButton buttonBio; 
    public ImageButton buttonList; 
    public ImageButton buttonWeather; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     buttonBio= (ImageButton) findViewById(R.id.buttonBio); 
     buttonBio.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent biodata = new Intent(mainActivity.this, profile.class); 
       startActivity(biodata); 
      } 
     }); 

     buttonList=(ImageButton)findViewById(R.id.buttonList); 
     buttonList.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent listTaman = new Intent(mainActivity.this, gardenlist.class); 
       startActivity(listTaman); 
      } 
     }); 

     buttonWeather=(ImageButton)findViewById(R.id.buttonWeather); 
     buttonWeather.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent cuaca = new Intent(mainActivity.this, weather.class); 
       startActivity(cuaca); 
      } 
     }); 
    } 
} 
+0

それは私にこのログ /Users/lilies/AndroidStudioProjects/Garden/app/src/main/java/skripsi/garden/mainActivity.java エラーました:(59、1)エラー:期待クラス、インターフェイス、または列挙型を エラー:タスク ':app:compileDebugJavaWithJavac'の実行に失敗しました。 >コンパイルに失敗しました。詳細については、コンパイラのエラー出力を参照してください。 – omghelpz

+0

あなたのためにそれを再フォーマットし、不足している括弧を1つ追加しました。それがコンパイルされない場合は、コードを調べて、括弧がないかどうかを確認する必要があります。 – Jay

0

あなただけのレイアウトを設定した後、あなたの活動のonCreate方法であなたの方法init()tombollist()tombolcuaca()を呼び出すことができます。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     init(); 
     tombollist(); 
     tombolcuaca() 
    } 

これは、onClickの内部に書かれたアクションを実行するためにボタンを初期化します。

メソッドが呼び出されない場合、ボタンは初期化されないため、クリックは機能しません。

imageButtonにandroid:clickable="true"を使用して、クリック機能init()をレイアウトxmlのボタンに割り当てることもできます。

<ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/buttonBio" 
     android:src="@drawable/buttonbiodata" 
     android:layout_above="@+id/buttonList" 
     android:layout_alignRight="@+id/buttonWeather" 
     android:layout_alignEnd="@+id/buttonWeather" 
     android:clickable="true" 
     android:onClick="init"/> 

次に、アクティビティのボタンを初期化する必要はありません。ボタンをクリックすると、メソッドが呼び出されます。

関連する問題