2012-03-16 30 views
5

2Tôi đang cố gắng xây dựng một ứng dụng bằng cách sử dụng máy nhắn tin ngang và gói hỗ trợ dành cho Android. Tôi đã thực hiện biên dịch mã chính xác này trong một dự án khác nhưng dòng cuối cùng của ví dụ mã thứ hai không cho phép tôi biên dịch. Eclipse được nói Cannot instantiate the type PagerAdapterKhởi tạo PagerAdapter Android

nhập khẩu Mỹ

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 

Mã của tôi

List<Fragment> fragments = new Vector<Fragment>(); 
    fragments.add(Fragment.instantiate(this, Tab1.class.getName())); 
    fragments.add(Fragment.instantiate(this, Tab2.class.getName())); 
    fragments.add(Fragment.instantiate(this, Tab3.class.getName())); 
    this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments); 

Bạn có nghĩ rằng có cái gì đó sai với hàng nhập khẩu hoặc dự án của tôi thiết lập - cho tôi biết nếu bạn cần thêm thông tin. Mã này đã hoạt động trong các dự án khác.

Cảm ơn

+0

PagerAdapter là một lớp trừu tượng và do đó không thể được khởi tạo. Xem http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html. – Thomas

Trả lời

9

PagerAdapter là một lớp abstract - bạn không thể khởi tạo nó. Bạn phải tạo một lớp mới kế thừa từ PagerAdapter và sử dụng nó thay thế.

+0

Cảm ơn rất nhiều về một sai lầm ngớ ngẩn! – JackMahoney

+0

Tôi đã tạo một lớp mới PagerAdapter, mặc dù nó cho thấy cùng một lỗi. @Herrmann –

2

Chỉ cần tạo một lớp mới kế thừa từ PagerAdapter và sử dụng nó thay thế.

NB: Đừng quên xóa lần nhập ban đầu "nhập android.support.v4.view.PagerAdapter;" và nhập lớp mới được tạo.