gpt4 book ai didi

android - 我的 gridview 不工作,因为找不到 id

转载 作者:行者123 更新时间:2023-11-30 03:44:37 25 4
gpt4 key购买 nike

这是我的代码:

package com.example.whs;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.ActionBar;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;

public class ViewAlbum extends ListActivity {
// Progress Dialog
private ProgressDialog pDialog;

// Creating JSON Parser object
JSONParser fotoJParser = new JSONParser();

// Array for the list
ArrayList<HashMap<String, String>> photoList;

// JSON variables
public static final String TAG_SUCCESS = "success";
public static final String TAG_MESSAGE = "message";

//JSON array
JSONArray items = null;

GridView grid;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_albums);

// Set actionbar
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

// HashMap for the items
photoList = new ArrayList<HashMap<String, String>>();

GridView grid = (GridView) findViewById(R.id.grid);;

// Loading the items on the background
new LoadAllItems().execute();
}

// class for loading all items
class LoadAllItems extends AsyncTask<String, String, String> {
private static final String TAG_ID = "id";
private static final String TAG_ITEMS = "items";
public String TAG_NAME = "name";


// Before
@Override
protected void onPreExecute(){
super.onPreExecute();
pDialog = new ProgressDialog(ViewAlbum.this);
pDialog.setMessage("Foto's laden...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}

// Get the products
@Override
protected String doInBackground(String... params) {
// Build Parameters
List<NameValuePair> params1 = new ArrayList<NameValuePair>();

// get the id
Intent intent = getIntent();
String id = intent.getStringExtra(TAG_ID);

params1.add(new BasicNameValuePair("id", id));

// url to get the items
String url_foto = "<here is my url>";

//Get the JSON string
JSONObject json = fotoJParser.makeHttpRequest(url_foto, "POST", params1);

try {
// check for success tag
int success = json.getInt(TAG_SUCCESS);

if(success == 1) {
// found the items
items = json.getJSONArray(TAG_ITEMS);

// loop through the items
for (int i = 0; items.length() > i; i++){
// Get the item in variable c
JSONObject s = items.getJSONObject(i);

// Store in a variable
String name = s.getString(TAG_NAME);

// Create the HashMap
HashMap<String, String> map = new HashMap<String, String>();

// add it
map.put(TAG_NAME, name);

// to arraylist
photoList.add(map);
}
}else{
//
}
} catch (JSONException e){
throw new RuntimeException(e);
}
return null;
}


protected void onPostExecute(String result){
// dismiss dialog
pDialog.dismiss();
// Add adapter to the list
ViewAlbumAdapter adapter = new ViewAlbumAdapter(ViewAlbum.this, photoList);
grid.setAdapter(adapter);
grid.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> a, View v,
int position, long id) {
// do something
}
});
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
return false;
// to do
}

}

问题是他找不到gridview。 gridview 的 id 是 android:id="@+id/grid"。日志在带有 grid.setAdapter(adapter) 的行上给出错误。错误是 java.lang.NullPointerException

我试过在findViewById前加上getActivity(),但是他不识别方法getActivity()。

最佳答案

取出变量阴影:

GridView grid = (GridView) findViewById(R.id.grid);;

应该是

grid = (GridView) findViewById(R.id.grid);

您已经将 grid 声明为实例变量。通过在 onCreate() 中再次重新声明它,您将实例 grid 保留为空。

关于android - 我的 gridview 不工作,因为找不到 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com