动态添加的视图未显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态添加的视图未显示相关的知识,希望对你有一定的参考价值。

在我的主要活动中,我调用以下内容来显示一个新活动:

Intent intent = new Intent( MainActivity.this, FindActivity.class );
startActivity( intent );

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

  @Override
  protected void onCreate( Bundle savedInstanceState )
  {
    Utils.LogDebugf( "FindActivity:: onCreate()
" );
    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 );
}

我的活动声明如下:

public class FindActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor>, ListChooserDialogListener
{

我遇到的问题是没有我的观点/控件出现。我有一个黑色的场景。我错过了什么?

答案

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

setContentView(mBaseLinearLayout);

只要确保在那里传递根View,否则你会得到一个IllegalStateException

以上是关于动态添加的视图未显示的主要内容,如果未能解决你的问题,请参考以下文章

在片段中动态添加文本视图

使用 WindowManager.addView 添加动态视图

RecyclerView未显示已解析的GSON数据

回收站视图未在 android studio 中显示一张卡片视图

viewpager 中的片段,未找到视图错误

如何在kotlin的片段内显示网格视图?