Android 为什么片段中的ListView无法工作?
为什么会有错误 我从extend ListActivity复制的这个java 我将ListActivity更改为Fragment,并且代码错误,我添加了getActivity(),但ListView lv=getListView();这是错误的 你能帮我吗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
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行吗?