Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么片段中的ListView无法工作?_Android_Listview_Fragment - Fatal编程技术网

Android 为什么片段中的ListView无法工作?

Android 为什么片段中的ListView无法工作?,android,listview,fragment,Android,Listview,Fragment,为什么会有错误 我从extend ListActivity复制的这个java 我将ListActivity更改为Fragment,并且代码错误,我添加了getActivity(),但ListView lv=getListView();这是错误的 你能帮我吗 public class menuTIFragment extends Fragment { private ProgressDialog pDialog; protected ListView lv; // buat json object

为什么会有错误

我从extend ListActivity复制的这个java

我将ListActivity更改为Fragment,并且代码错误,我添加了getActivity(),但ListView lv=getListView();这是错误的

你能帮我吗

public class menuTIFragment extends Fragment {
private ProgressDialog pDialog;
protected ListView lv;
// buat json object
JSONParser jParser = new JSONParser();

ArrayList<HashMap<String, String>> classList;

// url untuk get semua buku tamu
private static String url_Class = Koneksi.DISPLAY_MATKULTI;

// JSON Node
private static final String TAG_SUCCESS = "success";
private static final String TAG_JUMLAH ="jumlah";
private static final String TAG_ID = "id_matkul";
private static final String TAG_NAMA = "nama_matkul";


// pendaftaran JSONArray
JSONArray jumlah = null;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v =  inflater.inflate(R.layout.
            menu,container,false);

    classList = new ArrayList<HashMap<String, String>>();

    // Loading products in Background Thread
    new LoadClass().execute();

    // Get listview
    ListView lv = getListView();
    ListView lv = (ListView) v.findViewById(R.id.listview);

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String id_matkul = ((TextView) view.findViewById(R.id.idmatkul2)).getText().toString();

            Intent in = new Intent(getActivity().getApplicationContext(), TabFragment.class);

            in.putExtra(TAG_ID, id_matkul);
            startActivityForResult(in, 100);
        }
    });
    return v;
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // jika kode hasil sama dengan 100
    if (resultCode == 100) {
        // maka diterima
        // ketika user ngedit atau menghapus data
        // reload screen
        Intent intent = getActivity().getIntent();
        getActivity().finish();
        startActivity(intent);
    }

}

class LoadClass extends AsyncTask<String, String, String> {


    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(menuTIFragment.this.getActivity());
        pDialog.setMessage("Loading Data...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }
    /**
     * dapetkan semua produk dari get url di background
     * */
    protected String doInBackground(String... args) {
        // Buat Parameter
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        // ambil json dari url
        JSONObject json = jParser.makeHttpRequest(url_Class, "GET", params);

        // cek logcat untuk response dari json
        Log.d("Semua Hasil: ", json.toString());

        try {
            // cek jika tag success
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
                // data ditemukan
                // ambil array dari bukutamu
                jumlah = json.getJSONArray(TAG_JUMLAH);

                // tampilkan perulangan semua produk
                for (int i = 0; i < jumlah.length(); i++) {
                    JSONObject c = jumlah.getJSONObject(i);

                    // simpan pada variabel
                    String id_matkul = c.getString(TAG_ID);
                    String nama_matkul = c.getString(TAG_NAMA);



                    // buat new hashmap
                    HashMap<String, String> map = new HashMap<String, String>();

                    // key => value
                    map.put(TAG_NAMA, nama_matkul);
                    map.put(TAG_ID, id_matkul);




                    // masukan HashList ke ArrayList
                    classList.add(map);
                }
            } else {
                // jika tidak ada data
                // maka jalankan tambahkan buku tamu
                Intent i = new Intent(getActivity().getApplicationContext(),
                        HomeFragment.class);
                // tutup semua proses sebelumnya
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(i);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

    /**
     * jika pekerjaan di belakang layar selesai maka hentikan progress dialog
     * **/
    protected void onPostExecute(String file_url) {
        // hentikan progress ketika semua data didapat
        pDialog.dismiss();
        // perbarui screen
        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                ListAdapter adapter = new SimpleAdapter(
                        menuTIFragment.this.getActivity(), classList,
                        R.layout.menu2, new String[]{TAG_NAMA, TAG_ID},
                        new int[]{R.id.matkul2, R.id.idmatkul2});
                // perbarui list pendaftaran
                lv.setAdapter(adapter);
            }
        });

    }

}}
public类menuTIFragment扩展了Fragment{
私人对话;
受保护的ListView lv;
//buat json对象
JSONParser jParser=新的JSONParser();
ArrayList类列表;
//获取semua buku tamu的url
私有静态字符串url\u Class=Koneksi.DISPLAY\u MATKULTI;
//JSON节点
私有静态最终字符串标记_SUCCESS=“SUCCESS”;
私有静态最终字符串标记_JUMLAH=“JUMLAH”;
私有静态最终字符串标记\u ID=“ID\u matkul”;
私有静态最终字符串标记\u NAMA=“NAMA\u matkul”;
//潘达夫塔兰·佐纳雷
JSONArray jumlah=null;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图v=充气机。充气(右布局。
菜单,容器,假);
classList=newarraylist();
//在后台线程中加载产品
新建LoadClass().execute();
//获取列表视图
ListView lv=getListView();
ListView lv=(ListView)v.findViewById(R.id.ListView);
lv.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串id_matkul=((TextView)view.findviewbyd(R.id.idmatkul2)).getText().toString();
Intent in=new Intent(getActivity().getApplicationContext(),TabFragment.class);
in.putExtra(标签号、ID号、材料号);
startActivityForResult(in,100);
}
});
返回v;
}
@凌驾
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
//jika kode hasil sama dengan 100
如果(结果代码==100){
//马卡迪特里马酒店
//ketika用户ngedit或menghapus数据
//重新加载屏幕
Intent Intent=getActivity().getIntent();
getActivity().finish();
星触觉(意向);
}
}
类LoadClass扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=newprogressdialog(menuTIFragment.this.getActivity());
setMessage(“正在加载数据…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(假);
pDialog.show();
}
/**
*所有产品都可以获得url di背景
* */
受保护的字符串doInBackground(字符串…args){
//Buat参数
List params=new ArrayList();
//ambil json dari url
JSONObject json=jParser.makeHttpRequest(url_类,“GET”,参数);
//cek logcat untuk响应dari json
Log.d(“Semua Hasil:,json.toString());
试一试{
//cek jika tag成功
int success=json.getInt(TAG_success);
如果(成功==1){
//穆坎数据
//ambil阵列dari bukutamu
jumlah=json.getJSONArray(TAG_jumlah);
//坦皮尔坎-塞穆阿产品公司
对于(int i=0;i值
地图放置(TAG_NAMA,NAMA_matkul);
地图放置(标签ID、ID材料);
//masukan HashList ke ArrayList
添加(地图);
}
}否则{
//jika tidak ada数据
//让我们一起来吧
意图i=新意图(getActivity().getApplicationContext(),
HomeFragment.class);
//图图普塞缪亚散文集
i、 添加标志(意图、标志、活动、清除、顶部);
星触觉(i);
}
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
/**
*如果有人愿意参与进度对话
* **/
受保护的void onPostExecute(字符串文件\u url){
//semua数据的进展
pDialog.disclose();
//perbarui屏幕
getActivity().runOnUiThread(新的Runnable()){
@凌驾
公开募捐{
ListAdapter=新的SimpleAdapter(
menuTIFragment.this.getActivity(),类列表,
R.layout.menu2,新字符串[]{TAG_NAMA,TAG_ID},
新的int[]{R.id.matkul2,R.id.idmatkul2});
//佩尔巴鲁名单
低压设置适配器(适配器);
}
});
}
}}

我将ListActivity更改为Fragment
错误:改为
ListFragment
。这是
菜单片段
中的第173行吗?