0

ヘッダー ナビゲーション用のボタン リスナーを作成して、リスナーを 1 つの場所に配置できるようにしようとしています。

私はこのような方法を作ることを望んでいます:

public void set_nav_listeners ( )
{
    Button planBusiness = (Button)findViewById(R.id.home_header);
    Button questions_header = (Button)findViewById(R.id.questions_header);

    learn_header.setOnClickListener(new Button.OnClickListener() 
{  
    public void onClick(View v) 
    {                   
      Intent myIntent = new Intent(ProblemioActivity.this, LearnActivity.class);
      ProblemioActivity.this.startActivity(myIntent);
    }
});

questions_header.setOnClickListener(new Button.OnClickListener() 
{  
    public void onClick(View v) 
    {                   
      Intent myIntent = new Intent(ProblemioActivity.this, QuestionsActivity.class);
      ProblemioActivity.this.startActivity(myIntent);
    }
}); 
}

そこにパラメータを渡して、すべてのアクティビティで機能するようにします。したがって、次のような呼び出しが機能します。

public class RandomActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);

        // For checking if the person is logged in.
        set_nav_listeners ( ---> What parameters can I pass so it would work? <---- );
        ...

それは可能ですか?どうやってこれをやってのけるのですか?

ありがとう!

4

1 に答える 1

1

1つのクラスを作成して拡張する方がよいでしょう。

パブリッククラスRandomActivityはBaseActivityを拡張します

public class BaseActivity extends Activity {

    @Override
    public void setContentView(int layoutResID) {
        super.setContentView(layoutResID);



        findViewById(R.id.home_header).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(BaseActivity.this, "HITESTING!!!",
                        Toast.LENGTH_LONG).show();

            }
        });

    }

}
于 2012-05-26T15:25:38.857 に答える