我正在製作一個籃球統計數據的應用程序。我目前正在努力讓參加數據統計的人在比賽開始時進入/退出。我還打算稍後重複使用此代碼,以便人員可以在遊戲過程中將人員分入和退出。無論如何,我堅持如何基於數組大小創建按鈕列表。從包含在數組中的數據創建按鈕的動態列表
目前,我有一個數組,用於提取玩家的號碼,姓名以及他們是否從隊伍數據庫中進出。按鈕會顯示玩家的號碼,以便他們可以進出。我希望設置它,以便當一個人點擊其中一個按鈕時,它會改變誰被視爲遊戲中的「in」,並更新數據庫中的值。我將把下面的小代碼放在裏面。我嘗試了很多方法,比如gridview,循環一個按鈕創建命令和其他一些東西,但一直無法讓它們中的任何一個以我想要的方式工作。在此先感謝您的幫助。
活動設置是誰在板凳上:
package com.newelementapp.basketballstatbook;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
public class HomeBench extends Activity {
String tname, t1, t2;
String [] players;
LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.home_bench);
Bundle rteam = getIntent().getExtras();
tname = rteam.getString("team");
StatbookDB get = new StatbookDB(this);
get.open();
players = get.getHomePlayers(tname);
get.close();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
}
DB:
public String[] getHomePlayers(String tname) {
// TODO Auto-generated method stub
String [] columns = {KEY_PNUMBER, KEY_PNAME, KEY_INOUT};
List<String> hplayers2 = new ArrayList<String>();
String teamname = tname.toLowerCase().replaceAll(" ", "_");
Cursor c = ourDatabase.query(teamname, columns, null, null, null, null, null);
int inum = c.getColumnIndex(KEY_PNUMBER);
int iname = c.getColumnIndex(KEY_PNAME);
int iout = c.getColumnIndex(KEY_INOUT);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
String s = c.getString(iname);
String i = c.getString(inum);
String t = c.getString(iout);
hplayers2.add(i);
hplayers2.add(s);
hplayers2.add(t);
}
String [] hplayers = new String[hplayers2.size()];
hplayers2.toArray(hplayers);
return hplayers;
}
按鈕創建方法
private void createButtons() {
// TODO Auto-generated method stub
for(int i = 0; i<players.length; i+=3){
Button btn = new Button(this);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
btn.setId(i);
btn.setText(players[i]);
ll.addView(btn, params);
btn1=(Button)findViewById(i);
btn1.setOnClickListener(new OnClickListener() { ... }
當你說 - 「我已經嘗試了很多方法,例如gridview,循環通過按鈕創建命令和其他一些東西,但一直沒能讓它們中的任何一個以我想要的方式工作。」所以,你可以創建按鈕,但是當你點擊按鈕時,你無法獲得你想要的功能?或者是你甚至無法按照你的佈局目標來創建和顯示按鈕? –
你能更具體嗎?什麼不起作用?任何錯誤?例外? –
@Harikris和Adnan Mulla,我一直無法創建按鈕並實現所需的功能。我已經看了很多關於這個主題的不同文章/堆棧溢出問題,但一直無法找到開始的地方。我對Android相當陌生,但對基礎知識有所瞭解。 – NewElement