首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态添加的视图不显示

动态添加的视图不显示
EN

Stack Overflow用户
提问于 2018-03-01 08:52:08
回答 1查看 69关注 0票数 1

在我的主活动中,我调用以下代码来显示一个新的活动:

代码语言:javascript
运行
复制
Intent intent = new Intent( MainActivity.this, FindActivity.class );
startActivity( intent );

这将在我的FindActivity中调用我的onCreate()代码,如下所示:

代码语言:javascript
运行
复制
  @Override
  protected void onCreate( Bundle savedInstanceState )
  {
    Utils.LogDebugf( "FindActivity:: onCreate()\n" );
    super.onCreate( savedInstanceState );

    mActivity = this;

    mBaseLinearLayout = new LinearLayout( mActivity );
    mBaseLinearLayout.setLayoutParams( new LinearLayout.LayoutParams( ContextActivity.screenWidth, ContextActivity.screenHeight ) );
    mBaseLinearLayout.setOrientation( LinearLayout.VERTICAL );
    mBaseLinearLayout.setBackgroundColor( Color.TRANSPARENT );

    mEditText = new EditText( mActivity );

    mEditText.setWidth( ContextActivity.screenWidth );
    mEditText.setHeight( mResultLabelHeight );
    mEditText.setBackgroundColor( Color.DKGRAY );
    mEditText.setGravity( Gravity.CENTER );
    mEditText.setText( "" );
    mEditText.setTextColor( Color.YELLOW );
    mEditText.setTextSize( 30 );
    mEditText.setSingleLine();
    mEditText.setLayoutParams( new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT ) );

    mEditText.setOnClickListener( buttonListener );
    mEditText.addTextChangedListener( mTextWatcher );

    mListView = new ListView( mActivity );
    mListView.setBackgroundColor( Color.WHITE );
    mListView.setLayoutParams( new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1 ) );

    mBaseLinearLayout.addView( mEditText );
    mBaseLinearLayout.addView( mListView );
}

我的活动声明如下:

代码语言:javascript
运行
复制
public class FindActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor>, ListChooserDialogListener
{

我遇到的问题是,我的视图/控件都不会出现。我有一只黑色的侦探。我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 09:05:08

即使您没有对Activity的内容使用XML布局,您仍然需要调用setContentView()来将动态创建的View附加到Activity。例如:

代码语言:javascript
运行
复制
setContentView(mBaseLinearLayout);

只需确保在那里传递根View,否则您将得到一个IllegalStateException

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49041016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档