我想将 View 放入缓冲区之类的东西中,然后稍后显示它们。 像这样的东西:
public void addTextView(int belowId, int id,String text){
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, belowId);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
TextView tv = new TextView(this);
tv.setId(id);
tv.setText(text+"\n");
///i mean something like this:
buffer = addview(tv,lp)
}
稍后显示
public void showview(bufferview b){
RelativeLayout rSub= (RelativeLayout) findViewById(R.id.rSub);
rsub.addview(b);
}
最佳答案
使用 map
怎么样?
http://docs.oracle.com/javase/6/docs/api/java/util/Map.html
Map<Integer,TextView> textViewMap = new HashMap<Integer,TextView>();
public void addTextView(int belowId, int id,String text){
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.BELOW, belowId);
lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
TextView tv = new TextView(this);
tv.setLayoutParams(lp);
tv.setId(id);
tv.setText(text+"\n");
textViewMap.put(tv.getId(), tv);
}
public void showview(int id){
RelativeLayout rSub= (RelativeLayout) findViewById(R.id.rSub);
rsub.addview(textViewMap.get(id));
}
关于java - 将 View 存储在缓冲区中并稍后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17876672/