Tôi đang cố gắng sử dụng các đoạn để xây dựng Ứng dụng Android phù hợp đầu tiên của mình. Tôi có một xml chính. bao gồm hai đoạn thẳng đứng, các đoạn trên cùng chỉ bao gồm hai TextView. Việc đầu tiên trong số này chứa văn bản tĩnh và thứ hai chứa một giá trị mà cuối cùng tôi sẽ nhận được động từ SQL.Android: Làm thế nào để cập nhật textView của tôi trong một Fragment
Nếu tôi đặt này là MainActivity.java tôi thì hạnh phúc sẽ cập nhật giá trị của TextView trong Fragment đầu tiên của tôi:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
Tôi có hai XMLs mảnh và một java để hỗ trợ lẫn vì vậy tôi muốn đặt cài đặt của trường này vào Java hỗ trợ phân đoạn thay vì java dành cho MainActivity.
Khi tôi đặt nó trong đoạn nó trông như thế này: -
public class FragmentMainTop extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState){
// -- inflate the layout for this fragment
return inflater.inflate(R.layout.fragmentmt, container,false);
// Set the Text to try this out
TextView t = (TextView)findViewById(R.id.viewItem);
t.setText("Text to Display");
}
Nhưng nếu tôi làm điều này tôi nhận được một lỗi trên dòng TextView:
"Phương pháp findViewById (int) là không xác định cho loại FragmentMainTop "
Vậy tại sao nó không biết phương pháp này? Tôi có ctl/shift/o vì vậy tôi biết tôi có tất cả các quyền nhập khẩu. Tôi không muốn kết thúc việc đưa tất cả mã của mình vào MainActivity bởi vì nếu tôi muốn sử dụng Fragment trong một hoạt động khác, tôi sẽ phải lặp lại tất cả mã.
Tài liệu tham khảo được trả về thành công ngay cả khi tôi tìm findViewByID trên Hoạt động được trả về bởi fragment.getActivity(). Nhưng việc cập nhật lượt xem vẫn không hoạt động –