Đó là câu hỏi đầu tiên của tôi nhưng tôi đang cố gắng hỏi chính xác.findViewById (int) trả về null trên một nút cụ thể trong Android 3.1 các phiên bản khác của nó
Khi tiêu đề chỉ nói trên một nút và chỉ trong android 3.1 findViewById (int) trả về giá trị rỗng. Thử nghiệm trên Android 2.2 nó hoạt động và tất cả các nút khác được tìm thấy trong cả hai phiên bản Android. Nó tìm thấy các nút trước dòng cụ thể này và sau đó.
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonInfo = (Button)findViewById(R.id.buttonInfo);//fine
buttonInfo.setOnClickListener(this);
...
Button buttonCallOpScreen = (Button)findViewById(R.id.buttonCallOpScreen);//always returns null in android 3.1
...
Button buttonTakePicture = (Button)findViewById(R.id.buttonTakePictureMain);//fine
buttonTakePicture.setOnClickListener(this);
}
main.xml
:
(. Tôi biết rằng tôi không nên sử dụng px
, nhưng nó sẽ làm việc trên chỉ điện thoại của tôi, vì vậy đó là tốt cho trường hợp này)
<Button
android:id="@+id/buttonInfo"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_team" />
...
<Button
android:id="@+id/buttonCallOpScreen"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_operator" />
...
<Button
android:id="@+id/buttonTakePictureMain"
android:text=""
android:layout_width="80px"
android:layout_height="80px"
android:background="@drawable/btn_take_picture"
android:layout_gravity="bottom|left" />
Bất kỳ trợ giúp sẽ được đánh giá cao, cảm ơn cho đến nay.
Trả lời:
Nó bật ra được một nhiều hơn xấu xí. Vì có một số người làm việc trên dự án này, một trong những dường như đã thay đổi tên trong layout-normal/main.xml. Mặc dù các phiên bản Android trước 3.1 dường như tải bố cục/main.xml nhưng các phiên bản mới hơn sử dụng layout-normal/main.xml. Và vì nó là dễ hiểu hơn nếu id của nút đó là một findViewById (int) khác nhau phải trả về null.
Xin lỗi vì đã làm phiền bạn và cảm ơn nhận xét!
Vì tôi có ít hơn 100 danh tiếng, tôi không thể trả lời câu hỏi của riêng mình để đóng câu hỏi đó, nếu có ai đó có thể đăng câu trả lời này, tôi sẽ chấp nhận nó, cảm ơn.
Bạn đã thử làm sạch dự án chưa? –
chọn dự án và dọn dẹp và xây dựng lại dự án từ thanh menu dự án – Pratik
nhờ câu trả lời nhanh, đã thử - không thành công – Martin