setText无效的问题

Android 码拜 5年前 (2015-04-26) 290次浏览 0个评论
 
private void switchTitle(int titleID, String titleText, Boolean titleGoBack) {
        getWindow().setFeatureInt(getWindow().FEATURE_CUSTOM_TITLE, titleID);
        if (titleText.length() > 0) {
            menuTitleTv = (TextView) findViewById(R.id.gTvMenuTitle);
            menuTitleTv.setText(titleText);
//            titleText1 = titleText;
//            new Thread(runnable).start();
            Log.i(TAG, "±êìaà??a£o" + titleText);
        }
        if (titleGoBack) {
            ImageView backIv = (ImageView) findViewById(R.id.gIvGoBack);
            backIv.setOnClickListener(this);
        }
    }

方法中第一次使用setText可以生效,之后再次调用方法,setText就无效,使用线程方法也无效,何解???

setText无效的问题
可能是你titleID用的布局和gTvMenuTitle所在的不是同一个布局
gTvMenuTitle所在的布局由setContentView决定(如果是一个activity)
setText无效的问题
引用 1 楼 inquisitive_plus 的回复:

可能是你titleID用的布局和gTvMenuTitle所在的不是同一个布局
gTvMenuTitle所在的布局由setContentView决定(如果是一个activity)

是同一个layout,第一次点击是无问题的,再次使用这个方法就无效了

setText无效的问题
引用 2 楼 xiaoqiangse 的回复:

是同一个layout,第一次点击是无问题的,再次使用这个方法就无效了

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
是将R.layout.title这个布局inflate之后add到布局中去的

多次调用上面这个函数,会让布局出现多个children的情况,但操纵的永远仅仅是底层的
以后就无法再修改了

setText无效的问题
引用 3 楼 inquisitive_plus 的回复:
Quote: 引用 2 楼 xiaoqiangse 的回复:

是同一个layout,第一次点击是无问题的,再次使用这个方法就无效了

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
是将R.layout.title这个布局inflate之后add到布局中去的

多次调用上面这个函数,会让布局出现多个children的情况,但操纵的永远仅仅是底层的
以后就无法再修改了

请问应该怎么修改???

setText无效的问题
40分
stackoverflow不愧是大神云集
http://stackoverflow.com/questions/820398/android-change-custom-title-view-at-run-time
大概意思应该是反射获取那个布局,清空再重来一次……
——————

或者试试隐藏
findViewById(R.id.custom_title_1).setVisibility(View.GONE);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_2); 

setText无效的问题
引用 5 楼 inquisitive_plus 的回复:

stackoverflow不愧是大神云集
http://stackoverflow.com/questions/820398/android-change-custom-title-view-at-run-time
大概意思应该是反射获取那个布局,清空再重来一次……
——————

或者试试隐藏
findViewById(R.id.custom_title_1).setVisibility(View.GONE);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_2); 

stackoverflow上的方法,非常感谢你


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明setText无效的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!