2011-12-17 18 views
0

私はアンドロイドアプリケーションのすべてのレイアウトにフッターを持っています。 フッターには「ヘルプ」、「ホーム」のようなイメージボタンがあり、このイメージボタンはヘルプクラスとホームクラスに直接リンクしています。 すべてのフッターイメージボタンに1つのアクティビティクラスを設定できますか? 例えばプロジェクトは、私がフィードバックを呼び出すと、私は多くの画像ボタンで1つのアクティビティクラスを持つ方法

ImageButton buttonFeedback = (ImageButton) findViewById(R.id.btnFeedback); 
    buttonFeedback.setOnClickListener(new View.OnClickListener() {    
     public void onClick(View view) { 
       Intent myIntent = new Intent(view.getContext(), Feedback.class); 
       startActivityForResult(myIntent, 0); 
      } 
    }); 

を持っているMainActivityクラスを持っている...私は

public class FooterItems extends Activity implements OnClickListener { 

@Override 
public void onClick(View view) { 
    if(view.getId() == R.id.footerBtnHome) 
    { 
     Intent myIntent = new Intent(view.getContext(), MainActivity.class); 
     startActivityForResult(myIntent, 0); 
     return; 
    } 

    if(view.getId() == R.id.footerBtnFeedback) 
    { 
     Intent myIntent = new Intent(view.getContext(), Feedback.class); 
     startActivityForResult(myIntent, 0); 
     return; 
    }  
    } 
} 

てみましたが、私はクラスでこれらを呼び出す方法を得ていないのです。 1つのImage Button ... layoutと同じフッター項目からonClickを持つクラスが表示されます。 一般化されたFooterItemsクラスを使用したいので、フッターに1つのクラスを持ち、他のすべてのレイアウトで使用できます。 フッターのみのイメージボタンの場合は、xmlのandroid:onClick = "onClick"も使用しています。 しかし、これらの一般化されたクラスのFooterItemsを呼び出して動作させる方法。 返信を楽しみにしています。ありがとう。 、これはすべての活動の一番下にあるべきヘルプとホーム:

Footer image

答えて

0

は、私はあなたが2つのボタンとフッターのビューを実装したいと確信しています。

一度のコードを実装したい場合は、以下の手順に従ってください。

  1. は、2つのボタンとフッターのレイアウトを定義するアンドロイドを定義:のonClick =「btnHelp」ヘルプボタンとAndroid用:のonClick =」 btnHome "ボタンを押します。
  2. これで、任意のアクティビティにこのレイアウトを含めることができます。<include>を使用します。
  3. 以下の2つの方法で基本アクティビティを定義します。
  4. このフッターレイアウトを実装する場合は、このベースアクティビティを拡張します。
public void btnHelpClick(View v) 
{ 
    // do your task for Help 
} 

public void btnHomeClick(View v) 
{ 
    // do your task for Home 
} 
私は他の変形例を提案することができ
+0

xmlの各レイアウトにフッターがあり、includeは使用していませんが、フッターに表示されるすべてのボタンに対して1つのクラスが必要なので、すべてのフッターボタンで同じコードになります。 – Mukunda

+0

はい回答と同じことを言いました。あなたは一度コードする必要があります。 –

+0

私はFooterItemsクラスを持っていますが、アクティビティクラスでこれらの関数を呼び出す方法は... – Mukunda

1

: は、私が思うに、あなたはXMLのアンドロイドに追加することができます:のonClick、例えば:

<Button 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:text="@string/self_destruct" 
    android:onClick="selfDestruct" /> 

、ユーザーがこのボタンをクリックし、アンドロイドプログラム呼出しメソッドselfDistruct。このメソッドを実装するだけです。 Androidチュートリアル:http://developer.android.com/reference/android/widget/Button.html

+0

lolz ...すでに私の答えで上記のアプローチを説明しました:) –

+0

申し訳ありません。答えを書いたとき、私はあなたが答えたとは思わない。 – Anton

+0

気にしないですが、本当に素敵です。あなたが新しいSOメンバーであるように、同じようにロッキングを続けてください。 –

1

あなたが求めていることはあまり明確ではありません。

ヘルプ、ホームなどが必要です。イメージボタンは、アプリケーションのすべてのレイアウトに共通していますか?

イメージボタンをクリックするとレイアウトが上に表示され、これらのボタンも画面に表示されますか?

はいの場合は、私の答えがあなたを助けるかもしれません。

私はフッタアイテムを1つのアクティビティとして作成することを指示しましたが、それは良くありません。この場合、私はViewFlipperを好むでしょう。レイアウトを参照してください。

<LinearLayout vertical> 
    <ViewFlipper id=vf> 
    <include layout1 /> 
    <include layout2 /> 
    <include layout3 /> 
    </ViewFlipper> 

    <LinearLayout horizontal> 
    <ImageButton button1 /> 
    <ImageButton button2 /> 
    <ImageButton button3 /> 
    </LinearLayout> 
</LinearLayout> 

最初あなたは、画面上layout1と、すべての画像のボタンを取得します。 button3をクリックしたときにlayout2を表示する場合 onClickListenerを以下のように記述します。

ViewFlipper vf = (ViewFlipper)findViewById(R.id.vf); 

変数vfはレイアウトを変更するために使用されます。

button3.setOnClickListener(new View.OnClickListener() { 
    public void onClick() { 
     vf.setDisplayChild(1); 
    } 
}); 

私はあなたを助けてくれることを願っています。さようなら。

+0

私はフッタに多くのイメージボタンを持っています。それには家や助けなどがあります。私が尋ねたかったのは、同じコードを別々のレイアウトに何度も繰り返し書き込むことです。フッターのみのレイアウトに対して、1つのクラスを作成することができます。 – Mukunda

+0

あなたは異なるボタンクリックでアプリケーションのスクリーンショットを投稿できますか?問題の少し混乱。 –

+0

投稿を編集して、投稿に画像を添付しました。 – Mukunda

関連する問題