在我的主活动中,我调用以下代码来显示一个新的活动:
Intent intent = new Intent( MainActivity.this, FindActivity.class );
startActivity( intent );这将在我的FindActivity中调用我的onCreate()代码,如下所示:
@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 );
}我的活动声明如下:
public class FindActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Cursor>, ListChooserDialogListener
{我遇到的问题是,我的视图/控件都不会出现。我有一只黑色的侦探。我遗漏了什么?
发布于 2018-03-01 09:05:08
即使您没有对Activity的内容使用XML布局,您仍然需要调用setContentView()来将动态创建的View附加到Activity。例如:
setContentView(mBaseLinearLayout);只需确保在那里传递根View,否则您将得到一个IllegalStateException。
https://stackoverflow.com/questions/49041016
复制相似问题