在公共类中创建对象

时间:2014-10-13 10:22:34

标签: java android

我有这样的代码。但是当我执行错误

时它会崩溃
unable to instantiate activity ComponentInfo blah blah blah

编译前没有错误。为什么我无法在那个地方创建类的实例?当我在方法中创建它时 - 它没关系。我应该在哪里创建这个对象?    这个类是我的应用程序中的主要类。它出现在默认的“空白活动”创建

之后
public class MyActivity extends Activity {

EditText cocktail_1 = (EditText) findViewById(R.id.editText1); // why i cant do like that? Why I haven't got any errors? Where I should write this line?
AlertDialog.Builder one_more_error; //but its ok

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


}

...
}

我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alexeypolusov.firstlol">

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MyActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

请不要编辑我的代码

1 个答案:

答案 0 :(得分:0)

在创建Activity时,您需要在create中初始化所有视图。 例如,试试这个:

public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EditText cocktail_1 = (EditText) findViewById(R.id.editText1);
}
}