上面的图片是关于我的任务..当用户点击ListView中的任何项目时,listView显示来自DB的列表项,另一个活动打开,其中包含特定项目的完整描述。
我已经完成了一个来自MySQL DB和onClick on listView的列表,我得到了特定项目的位置。但问题是我如何检索另一个活动中点击项目的完整信息。 我正在使用PHP脚本检索数据并在android中显示。
以下是Java Code。
`public class Main2Activity扩展了Activity {
import matplotlib.pyplot as plt
fig = plt.figure()
}
这是检索所有数据的PHP代码。
ListView lv, lv2;
ArrayAdapter<String> adapter;
String adress = "http://192.168.42.25/getinfo.php";
InputStream is = null;
String line = null;
String result = null;
String[] data;
public static String temp;
//String[] data2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
lv = (ListView) findViewById(R.id.listview1);
//lv2 = (ListView) findViewById(R.id.listview2);
//ALLOW NETWORK IN MAIN THREAD
StrictMode.setThreadPolicy((new StrictMode.ThreadPolicy.Builder().permitNetwork().build()));
//RETRIEVE
getData();
//ADAPTER
adapter = new ArrayAdapter<String>(this , android.R.layout.simple_list_item_1,data);
//ArrayAdapter<String> itemsAdapter =
//new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data2);
lv.setAdapter(adapter);
//lv2.setAdapter(itemsAdapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent i = new Intent(Main2Activity.this , MainActivity.class);
Toast.makeText(Main2Activity.this , position + "Selected" , Toast.LENGTH_SHORT).show();
startActivity(i);
temp = Integer.toString(position);
}
});
}
private void getData()
{
try {
URL url = new URL(adress);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
is = new BufferedInputStream(con.getInputStream());
}catch (Exception e)
{
e.printStackTrace();
}
//READ IS CONTENT INTO A STRING
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
while ((line =br.readLine()) != null)
{
sb.append(line+ "\n");
}
is.close();
result = sb.toString();
}catch (Exception e)
{
e.printStackTrace();;
}
//PARSE JSON DATA
try
{
JSONArray js = new JSONArray(result);
JSONObject jo = null;
data = new String[js.length()];
//data2 = new String[js.length()];
for (int i =0; i<js.length(); i++)
{
jo = js.getJSONObject(i);
data[i] = jo.getString("name");
//data2[i] = jo.getString("email");
}
} catch (JSONException e) {
e.printStackTrace();
}
}