簡體   English   中英

單擊我動態創建的多個按鈕的偵聽器 Android Studio

[英]Click listener for multiple buttons ive created dynamically Android Studio

好的,所以我正在制作一個 android 應用程序,並且我有一個目標列表,可以說是為了便於解釋。 一個目標由一個字符串組成。 該數據將來自數據庫,因此將來列表的長度可能會稍長或稍短。 每個目標都放置在按鈕的文本中。

我已經創建了這個循環來在運行時創建按鈕,因為列表的長度會根據之前發生的事情而改變,這一切都很完美,我可以創建按鈕並將它們放在我想要的位置等。這是我的代碼曾經這樣做。

    for (int i = 0; i < goals.size(); i++){
        buttons[i] = new Button(this.getContext());
        buttons[i].setLayoutParams(params);
        buttons[i].setPadding(0,150,0,150);
        buttons[i].setGravity(Gravity.CENTER);
        buttons[i].setText(goals.get(i));
        buttons[i].setBackgroundResource(R.drawable.btn_back);
        buttons[i].setTextSize(30);
        buttons[i].setTransformationMethod(null);
        linear.addView(buttons[i]);
    }

現在我的問題是我希望每個按鈕的點擊做一個稍微不同的事情 - 取決於目標,即按鈕的文本。 我真的在努力設置點擊事件,以便即使我動態創建了所有按鈕,不同的按鈕也會做不同的事情。

我可以詳細介紹我在 android 工作室中的設置,但我覺得我已經對我的問題有足夠的了解。

我很感激任何幫助。

我最好的猜測是,如果您已經根據文本知道每個按鈕的 function 應該是什么,您就不能只獲取按鈕的文本,然后在開關(或其他東西)中使用它來獲得特定的功能,例如:

buttons[i].setOnClickListener(new View.OnClickListener(){

   @Override
   public void onClick(View view){

       //Put whatever is common between buttons outside of the switch

       switch(((Button)view).getText().toString()){

       //And then just assign a case for whatever functionality you need specifically for each goal

       }

   }


});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM