如何将现有代码分配给java类中的新按钮?

时间:2013-08-16 19:36:20

标签: java android

我的MainActivity类中有一个randomJoke代码,基本上告诉我的应用程序每次单击一个按钮时都会显示一个字符串。在笑话视图中,我正在尝试创建一个函数来执行相同的操作,除了在笑话视图中有一个按钮。因此,当用户想要另一个笑话时,用户不必返回主页面。相反,他们只需点击笑话视图上的按钮即可。我应该在“onClicK”之后添加什么来告诉应用程序执行与randomJoke代码相同的功能(在同一个活动类中)。谢谢!!

到目前为止,我的代码是:

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

    setupJokeButton();


}

private void setupJokeButton() {
    // TODO Auto-generated method stub
    Button JokeButton = (Button) findViewById(R.id.nextjoke);

    JokeButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub



        }
    });

我的randomJoke代码如下所示:

public void randomJoke (View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    Random rand = new Random();
    int lowerBound = 1, upperBound = 83; //HERE IS WHERE YOU ADD THE HIGHEST NUMBER OF JOKES THERE IS
    int randomNumber = rand.nextInt(upperBound - lowerBound + 1) + lowerBound;
    String jokeNumber = "joke" + String.valueOf(randomNumber);
    String mess = getResources().getString(getStringResourcePath(getApplicationContext(),jokeNumber));
    //String jokeNumber = "joke" + String.valueOf(iteration);
    //iteration += 1;
    //String mess = getResources().getString(getStringResourcePath(getApplicationContext(), jokeNumber));
    intent.putExtra(EXTRA_MESSAGE, mess);
    startActivity(intent);

1 个答案:

答案 0 :(得分:1)

如果我明白你想要什么,你可以这样做

@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        randomJoke(v);

由于randomJoke()只需View作为参数,您只需调用该方法并发送已点击的ViewButton