2017-07-20 41 views
0

我收到String擁有一批從TCP服務器TCP客戶端,即String具體的收款機在線人數和每個收銀我要創建一個cardView,我創建了一個cardViewrecyclerViewAdapter但現在設置收款機數量的人是我通過在ArrayList中添加字符串。 String發送方式TCP服務器尚未設置爲靜態MainActivity但現在我不知道如何使用它來創建所需的數量。創建由字符串設置的recyclerViews的數量?

這裏是代碼其中i喚起recyclerViewAdapter

public class help extends AppCompatActivity { 

private ArrayList selfList; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_help); 
    Utils.darkenStatusBar(this, R.color.colorAccent); 
    ImageButton home = (ImageButton) findViewById(R.id.casa); 

    initViews(); 

    home.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     finish(); 
     } 
    }); 
} 

private void initViews(){ 
    RecyclerView recyclerView = 
(RecyclerView)findViewById(R.id.recyclerviewSelfMachine); 
    recyclerView.setHasFixedSize(true); 
    RecyclerView.LayoutManager layoutManager = 
new LinearLayoutManager(getApplicationContext()); 
    recyclerView.setLayoutManager(layoutManager); 

    selfList = new ArrayList<>(); 
    selfList.add("CASSA SELF N°1"); 
    selfList.add("CASSA SELF N°2"); 
    selfList.add("CASSA SELF N°3"); 
    selfList.add("CASSA SELF N°4"); 
    RecyclerView.Adapter adapter = new RecyclerViewSelf(selfList); 
    recyclerView.setAdapter(adapter); 
    } 
} 
+0

接收字符串//調用後您的intiviews()你有後弦號碼從服務器。之後運行一個循環,併爲每次迭代添加一個項目到列表中。然後將該列表傳遞給您的適配器。 – beginner

+0

你可以在代碼中製作一個循環的例子嗎? –

回答

1

你從你的服務器

String num = serverValue; 

int limit = Integer.valueof(num); 

selfList = new ArrayList<>(); 

for(int i=0; i<limit; i++) 
{ 
    selfList.add("" + i); // add "" with i if you want list with string type 
} 

// call your init method here 
initViews(); 


// your init method 
private void initViews(){ 
    RecyclerView recyclerView = 
    (RecyclerView)findViewById(R.id.recyclerviewSelfMachine); 
    recyclerView.setHasFixedSize(true); 
    RecyclerView.LayoutManager layoutManager = 
    new LinearLayoutManager(getApplicationContext()); 
    recyclerView.setLayoutManager(layoutManager); 

    RecyclerView.Adapter adapter = new RecyclerViewSelf(selfList); 
    recyclerView.setAdapter(adapter); 
    } 
}