【发布时间】:2014-05-30 05:52:55
【问题描述】:
我一直在查看许多在 onCreate 函数中获取指向显示器的指针的示例,但每次执行此操作时,我的 findViewById 函数都会返回空值,但如果我在其他地方执行此操作,则效果很好。为了让它正常工作,我缺少什么? 感谢您的帮助,我一定错过了什么
EditText messageField;
AutoCompleteTextView numberField;
EditText countField;
TextView messageDisplay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
sms = SmsManager.getDefault();
preferences = PreferenceManager.getDefaultSharedPreferences(this);
messageField = (EditText) findViewById(R.id.message);
numberField = (AutoCompleteTextView) findViewById(R.id.number);
countField = (EditText) findViewById(R.id.count);
messageDisplay = (TextView) findViewById(R.id.display_message);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
fragment_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#000000"
tools:context="com.example.last.MainActivity$PlaceholderFragment" >
<AutoCompleteTextView
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/send"
android:layout_marginTop="49dp"
android:textColor="@android:color/white"
android:inputType="numberSigned"
android:selectAllOnFocus="true"
android:ems="10"
android:text="@string/phone_number" >
<requestFocus />
</AutoCompleteTextView>
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/message"
android:layout_marginRight="25dp"
android:layout_marginTop="70dp"
android:onClick="sendMessage"
android:textColor="@android:color/white"
android:text="@string/send_button" />
<EditText
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/send"
android:layout_below="@+id/number"
android:layout_marginTop="61dp"
android:ems="10"
android:inputType="textMultiLine"
android:textColor="@android:color/white"
android:selectAllOnFocus="true"
android:text="@string/default_message" />
<EditText
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/message"
android:layout_marginTop="32dp"
android:ems="4"
android:maxEms="4"
android:inputType="numberSigned"
android:textColor="@android:color/white"
android:text="@string/default_count" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/message"
android:layout_below="@+id/send" />
<TextView
android:id="@+id/display_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/progressBar1"
android:layout_below="@+id/progressBar1"
android:layout_marginTop="45dp"
android:layout_toLeftOf="@+id/send"
android:textColor="@android:color/white"
android:text="@string/default_display_message" />
<TextView
android:id="@+id/char_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/message"
android:layout_alignBottom="@+id/message"
android:layout_alignParentRight="true"
android:text="18/160" />
<android.gesture.GestureOverlayView
android:id="@+id/easter_egg_gesture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/display_message" >
</android.gesture.GestureOverlayView>
<Button
android:id="@+id/eeb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/easter_egg_gesture"
android:layout_alignParentLeft="true"
android:background="#000000"
android:onClick="easterEgg" />
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.app.joebot.MainActivity"
tools:ignore="MergeRootFrame" />
【问题讨论】:
-
确保您引用的所有视图都来自
activity_main.xml文件。 -
我明白了,我去看看我是怎么做到的
-
@user2967314 转到此post
标签: android android-layout android-view android-lifecycle