古いチュートリアルで問題が発生しています。基本的に、JSON形式で返されたデータをwww.amazingjobs.co.uk/app/marc/api/candidates/からリストビューにプルしようとしています。
私は文字通り24時間前にandroid/javaを学び始めたので、それは非常に単純かもしれませんが、私はそれを理解できないようです。エラーのある行は太字で示されています。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import com.google.gson.Gson;
public class Searchjobs extends Activity {
// url to make request
private static String url = "http://www.amazingjobs.co.uk/app/marc/api/candidates/";
// JSON Node names
private static final String TAG_RESULTS = "results";
// Jobs JSONArray
JSONArray jobs = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_searchjobs);
Button Searchbutton = (Button) findViewById(R.id.Searchbutton);
Searchbutton.setOnClickListener(searchClick);
}
private OnClickListener searchClick = new OnClickListener() {
public void onClick(View v) {
// Hashmap for ListView
ArrayList<HashMap<String, String>> JobList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl("http://www.amazingjobs.co.uk/app/marc/api/candidates/");
// Getting Array of Contacts
try {
jobs = json.getJSONArray(TAG_RESULTS);
for(int i = 0; i < jobs.length();i++){
JSONObject j = jobs.getJSONObject(i);
String title = j.getString("job_title");
HashMap<String, String> map = new HashMap<String, String>();
map.put("Title", title);
JobList.add(map);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
**ListAdapter adapter = new SimpleAdapter(this, JobList,R.layout.list_item,
new String[] { "Title" }, new int[] {R.id.title});**
**ERROR: The constructor SimpleAdapter(new View.OnClickListener(){}, ArrayList<HashMap<String,String>>, int, String[], int[]) is undefined**
**setListAdapter(adapter);
The method setListAdapter(ListAdapter) is undefined for the type new View.OnClickListener(){}**
// selecting single ListView item
**ListView lv = getListView();**
**ERROR: The method getListView() is undefined for the type new View.OnClickListener(){}**
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
};
};
編集OK新しいコードは以下のとおりです。アクティビティエラーは間違いなく存在するアクティビティに関連しているため、奇妙に思われますが、Eclipseでも再起動/クリーンアップを試みました。
説明リソースパス場所タイプactivity_searchjobsを解決できないか、フィールドではありませんSearchjobs.java / AmazingJobs / src / app / android /amazingjobs行47Java問題activity_searchjobsを解決できないか、フィールドではありませんSearchjobs.java / AmazingJobs / src / app / android /amazingjobs行105Java問題Searchbuttonを解決できないか、フィールドではありませんSearchjobs.java / AmazingJobs / src / app / android /amazingjobs行48Java問題list_itemを解決できないか、フィールドSearchjobs.java / AmazingJobs / src / app / android/amazingjobs行83Javaの問題
public class Searchjobs extends ListActivity {
// url to make request
private static String url = "http://www.amazingjobs.co.uk/app/marc/api/candidates/";
// JSON Node names
private static final String TAG_RESULTS = "results";
// Jobs JSONArray
JSONArray jobs = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_searchjobs);
Button Searchbutton = (Button) findViewById(R.id.Searchbutton);
Searchbutton.setOnClickListener(searchClick);
}
private OnClickListener searchClick = new OnClickListener() {
public void onClick(View v) {
// Hashmap for ListView
ArrayList<HashMap<String, String>> JobList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl("http://www.amazingjobs.co.uk/app/marc/api/candidates/");
// Getting Array of Contacts
try {
jobs = json.getJSONArray(TAG_RESULTS);
for(int i = 0; i < jobs.length();i++){
JSONObject j = jobs.getJSONObject(i);
String title = j.getString("job_title");
HashMap<String, String> map = new HashMap<String, String>();
map.put("Title", title);
JobList.add(map);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ListAdapter adapter = new SimpleAdapter(getApplication(), JobList,R.layout.list_item,
new String[] { "Title" }, new int[] {R.id.title});
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
};
};