标题:动态更新UI的问题
只看楼主
情.难言ゝ
Rank: 3Rank: 3
来 自:安徽安庆
等 级:论坛游侠
威 望:1
帖 子:74
专家分:137
注 册:2013-9-8
结帖率:83.33%
 问题点数:0 回复次数:2 
动态更新UI的问题


main.xml   add.xml
想在AddActivity中点击添加,MainActivity中线性布局中栏目(新闻,头条等)可以添加

MainActivity.java
程序代码:
LinearLayout ll_home_menu;
    Vector<View> home_menu = new Vector<View>();
    int num = 10;   //显示新闻的条数
    private ListView lv_news;    
    TextView tv_retrieve;
    TextView tv_add;
    TextView tv_setting;

@Override
     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        init();
        updateUI();
    }
    public void updateUI() {   // 更新界面
        ll_home_menu = (LinearLayout) findViewById(R.id.ll_home_menu);
        ll_home_menu.removeAllViews();
        android.util.Log.v("success",""+home_menu.size());
        for(int j=0; j<home_menu.size(); j++) {
            ll_home_menu.addView(home_menu.get(j));
            home_menu.get(j).setOnClickListener(clicklistener);
        }
    }
    private void init() {     // 初始化界面
        String[] m = {" 军事 "," 体育 "," 天气 "," 软通动力 "," 头条 "," 本地 "," 娱乐 "};
        TextView tv;
        
        tv_retrieve = (TextView) findViewById(R.id.tv_home_retrieve);
        tv_add = (TextView) findViewById(R.id.tv_home_add);
        tv_setting = (TextView) findViewById(R.id.tv_home_log);
        tv_retrieve.setOnClickListener(clicklistener);
        tv_add.setOnClickListener(clicklistener);
        tv_setting.setOnClickListener(clicklistener);
        
        for(int i=0; i<m.length; i++) { // 初始化栏目
            tv = new TextView(this);
            tv.setId(i);
            tv.setTextSize(20);
            tv.setText(" "+m[i]+" ");
            home_menu.add(tv);
        }
         }


AddActivity.java
程序代码:
private OnClickListener clicklistener // 点击事件(添加、确定)
            = new OnClickListener() {
        @Override
        public void onClick(View v) {
            switch(v.getId()) {
            case R.id.tv_keyword_add:
                et_keyword = (EditText) findViewById(R.id.et_add_keyword);
                addColumn(et_keyword.getText().toString());
                finish();
                break;
            case R.id.tv_area_determine:
                sp_area = (Spinner) findViewById(R.id.sp_area_area);
                addColumn(sp_area.getSelectedItem().toString());
                finish();
                break;
            default:
                break;
            }
        }};
    public void addColumn(String column) {   // 添加栏目
        MainActivity m = new MainActivity();    
        TextView tv = new TextView(getBaseContext());
        tv.setText(" "+column+" ");
        tv.setTextSize(20);
        m.home_menu.addElement(tv);
        Thread t = new Thread();
        t.start();
    }
搜索更多相关主题的帖子: private Vector 动态 
2015-04-29 16:40
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
得分:0 
在MainActivity 中 使用  startActivityForResult 方法启动AddActivity,同时在MainActivity中,重写 onActivityResult方法,在AddActivity 的按钮点击事件中使用 setResult方法,这样把AddActivity中的数据传回到MainActivity中,在onActivityResult方法中,处理返回的数据就可以了
2015-05-10 20:55
情.难言ゝ
Rank: 3Rank: 3
来 自:安徽安庆
等 级:论坛游侠
威 望:1
帖 子:74
专家分:137
注 册:2013-9-8
得分:0 
我解决了,用的Intent传List

树叶的离去,是风的追求、还是树的不挽留???
2015-05-11 14:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444649-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.490293 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved