Android以编程方式在linearlayout中添加和删除文本视图
我试图以图形方式在linearlayout中添加视图(TextView)。我能够以编程方式在linearlayout中添加textview 以下是我添加textview的代码:Android以编程方式在linearlayout中添加和删除文本视图,android,textview,Android,Textview,我试图以图形方式在linearlayout中添加视图(TextView)。我能够以编程方式在linearlayout中添加textview 以下是我添加textview的代码: public void setSelectedContactTextView(final ArrayList<Object> list){ //Constants.progressDialog=ProgressDialog.show(this, "", Constants.MSG_PROGES
public void setSelectedContactTextView(final ArrayList<Object> list){
//Constants.progressDialog=ProgressDialog.show(this, "", Constants.MSG_PROGESSDIALOG);
/* new Thread(new Runnable() {
@Override
public void run() {*/
runOnUiThread(new Runnable() {
@Override
public void run() {
while(i<list.size()){
ContactBean contactBean=(ContactBean)list.get(i);
if(contactBean.isSelected()==true){
View line = new View(NewEventShowDetails.this);
line.setLayoutParams(new LayoutParams(1, LayoutParams.WRAP_CONTENT));
final TextView contactTextView=new TextView(NewEventShowDetails.this);
contactTextView.setText(contactBean.getEmailId().toString());
contactTextView.setPadding(3,3, 3, 3);
contactTextView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(NewEventShowDetails.this, contactTextView.getText(), Toast.LENGTH_SHORT).show();
}
});
fbContactTextLinearLayout.addView(contactTextView);
fbContactTextLinearLayout.addView(line);
count++;
}
i++;
}
}
});
/*}
});*/
}
public void removeAllTextViewsFromLayout(){
final int childcount = fbContactTextLinearLayout.getChildCount();
runOnUiThread(new Runnable() {
@Override
public void run() {
for (int i=0; i < childcount; i++){
fbContactTextLinearLayout.removeViewInLayout(fbContactTextLinearLayout.getChildAt(i));
}
}
});
}
您的i计数器正在重置吗?根据你展示的代码,i不是一个局部变量
runOnUiThread(new Runnable() {
@Override
public void run() {
while(i<list.size()){
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
而(i你的i计数器被重置了吗?根据你显示的代码,i不是一个局部变量
runOnUiThread(new Runnable() {
@Override
public void run() {
while(i<list.size()){
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
while(我如何看待您的RemoveViewInYout(fbContactTextLinearLayout.getChildAt(i));方法代码?为什么不直接调用fbContactTextLinearLayout.removeAllViews();
您是否只从onResume()调用setSelectedContactTextView()?删除视图后何时调用此功能?如果您只删除视图而不执行任何其他操作,如离开活动或暂停或类似操作,则不会再次调用onResume。@Neil我曾经说过它将删除所有文本视图,但在删除文本视图后,这些视图不会再次添加。@OpiateFuch抱歉,但我的onResume()每次都会被调用。你的removeViewInLayout(fbContactTextLinearLayout.getChildAt(i));方法代码呢?为什么不直接调用fbContactTextLinearLayout.removeAllViews();
你只从onResume()调用setSelectedContactTextView()呢?删除视图后何时调用此功能?如果您只删除视图而不执行任何其他操作,如离开活动或暂停或类似操作,则不会再次调用onResume。@Neil我曾经说过它将删除所有文本视图,但在删除文本视图后,这些视图不会再次添加。@OpiateFuch抱歉,但我的onResume()每次都会打电话。