Я не могу найти TextView
, вызвав findViewById()
, даже если идентификатор существует.
OtherActivity
:
public class OtherActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
TextView textView = (TextView)findViewById(R.ID.txt02);
super.onCreate(savedInstanceState);//line 5
setContentView(R.layout.other_activity);
//textView.setText(ACCESSIBILITY_SERVICE);
Button button = (Button)findViewById(R.ID.otherActivity_Btn);
button.setText(R.string.otherActivityBtn);
button.setOnClickListener(new GoBackBtnListener(this));
}
class GoBackBtnListener implements OnClickListener {
OtherActivity other = null;
public GoBackBtnListener(OtherActivity p_other) {
other = p_other;
}
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(other, Activity01Activity.class);
other.startActivity(intent);
}
}
}
Я добавил точку останова в строке 5,и запустил проект в режиме отладки.Когда он остановился в точке останова, я переместил мышь к переменной textView
, и она стала нулевой.
Макет other_activity
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+ID/txt02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+ID/otherActivity_Btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hp" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity01Activity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".OtherActivity" android:label="@string/other"></activity>
</application>
</manifest>
Сгенерированный R.java
класс:
public final class R {
public static final class ID {
public static final int Activity01_btn=0x7f050001;
public static final int otherActivity_Btn=0x7f050003;
public static final int txt01=0x7f050000;
public static final int txt02=0x7f050002;
}
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
public static final int other_activity=0x7f030001;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
public static final int other=0x7f040002;
public static final int otherActivityBtn=0x7f040003;
}
}
Не думаю, что TextView
не должен быть найден, но почему переменная textView
null?