Cara menggunakan metode inflater dalam fragmen [duplikat]

Hai, saya bekerja dengan Android. Saya telah mencoba mengembangkan tata letak ke dalam fragmen, tetapi ini menunjukkan kesalahan dalam kode "metode getLayoutInflater() tidak ditentukan untuk kelas". bagaimana saya bisa mengakses tata letak di dalam fragmen ??? tolong bantu saya. Saya baru mengenal Android. Terima kasih

ini kode saya

        View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row, null);
         listView1.addHeaderView(header); 

person doubter    schedule 25.01.2014    source sumber


Jawaban (3)


getLayoutInflater() adalah metode Context

gunakan getActivity().getLayoutInflater()... valid setelah onAttach() panggilan balik dipanggil di Fragment

person Gopal Gopi    schedule 25.01.2014

Saya berasumsi Anda memanggil ini di dalam suatu Aktivitas. Coba lakukan

LayoutInflater li = (LayoutInflater) getApplicationContext().getSystemService( Context.LAYOUT_INFLATER_SERVICE );
View header = li.inflate(R.layout.listview_header_row, null);

Sebaliknya, jika Anda memanggil ini dari adaptor khusus, Anda harus meneruskan variabel LayoutInflater atau Konteks ke adaptor.

Adaptor:

class MyCustomAdapter{
LayoutInflater li;
    public MyCustomAdapter (LayoutInflater li) {
        layoutInflater = li;
    }
    //...
}

Aktivitas:

public class MyActivity extends Activity {
//...
    public void onCreate() {
        MyCustomAdapter adapter = new MyCustomAdapter((LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE );
        listView.setAdapter(myCustomAdapter);
    }
//...
}
person Kylelem62    schedule 25.01.2014

Coba ini:

View view = LayoutInflater.from(getActivity()).inflate(
                R.layout.your_layout, null);

Kode lengkap

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = LayoutInflater.from(getActivity()).inflate(
            R.layout.your_layout, null);
    return view;
}
person Luc    schedule 25.01.2014