Java 我完成了listview,点击listview后,它可以在android studio中显示url mysql的图像
这是Java 我完成了listview,点击listview后,它可以在android studio中显示url mysql的图像,java,android,listview,Java,Android,Listview,这是timeline.java文件显示列表视图: public class timetable extends AppCompatActivity { ListView lv; // Let's set up a string array to inflate the listview with ArrayAdapter<String> adapter; String address = "http://192.168.1.10/timetabl
timeline.java
文件显示列表视图:
public class timetable extends AppCompatActivity {
ListView lv;
// Let's set up a string array to inflate the listview with
ArrayAdapter<String> adapter;
String address = "http://192.168.1.10/timetable/conn.php";
InputStream is = null;
String line = null;
String result = null;
String[] data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timetable);
lv = (ListView) findViewById(R.id.lv);
// 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);
lv.setAdapter(adapter);
// register onClickListener to handle click events on each item
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// argument position gives the index of item which is clicked
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedClass = data[position];
Toast.makeText(getApplicationContext(), selectedClass+" selected", Toast.LENGTH_LONG).show();
Intent intent = new Intent (timetable.this, SecondActivity.class);
intent.putExtra("SELECTED_CLASS", selectedClass);
startActivity(intent);
}
});
}
private void getData() {
try {
URL url = new URL(address);
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 ja = new JSONArray(result);
JSONObject jo = null;
data = new String[ja.length()];
for (int i = 0; i < ja.length(); i++) {
jo = ja.getJSONObject(i);
data[i] = jo.getString("classname");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
我在listview中有16个类名,我想在用户单击每个类名时执行此操作,它将从url mysql检索图片(时间表)存储。每个类名都有不同的图像。现在我完成了listview,但是当单击all列表时,它也检索到了相同的图像。我的想法是使用if-else,但我不知道代码 如果您想将值
selectedclass
从时间表
传递到第二个活动
,则使用Intent.putExtra()
并更新您的onItemClick
方法广告如下:
timeline.java:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
// argument position gives the index of item which is clicked
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String selectedclass = data[position];
Toast.makeText(getApplicationContext(), selectedclass+" selected", Toast.LENGTH_LONG).show();
Intent intent = new Intent (timetable.this, SecondActivity.class);
intent.putExtra("SELECTED_CLASS", selectedclass);
startActivity(intent);
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
iv = (ImageView) findViewById(R.id.imageView1);
Bundle bundle = getIntent().getExtras();
String selectedClass = "";
if(bundle != null){
selectedClass = bundle.getString("SELECTED_CLASS");
}
String imageUrl = "";
if (selectedClass.equalsIgnoreCase("PERP - BILIK SEMINAR 1"))
imageUrl = "http://192.168.1.10/timetable/class/bs1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK SEMINAR 2"))
imageUrl = "http://192.168.1.10/timetable/class/bs2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 1"))
imageUrl = "http://192.168.1.10/timetable/class/bt1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 2"))
imageUrl = "http://192.168.1.10/timetable/class/bt2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 3"))
imageUrl = "http://192.168.1.10/timetable/class/bt3.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 4"))
imageUrl = "http://192.168.1.10/timetable/class/bt4.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 5"))
imageUrl = "http://192.168.1.10/timetable/class/bt5.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 6"))
imageUrl = "http://192.168.1.10/timetable/class/bt6.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 7"))
imageUrl = "http://192.168.1.10/timetable/class/bt7.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 8"))
imageUrl = "http://192.168.1.10/timetable/class/bt8.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 9"))
imageUrl = "http://192.168.1.10/timetable/class/bt9.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 10"))
imageUrl = "http://192.168.1.10/timetable/class/bt10.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 1"))
imageUrl = "http://192.168.1.10/timetable/class/dk1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 2"))
imageUrl = "http://192.168.1.10/timetable/class/dk2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 3"))
imageUrl = "http://192.168.1.10/timetable/class/dk3.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 4"))
imageUrl = "http://192.168.1.10/timetable/class/dk4.jpg";
bitmap = getBitmapFromURL(imageUrl);
iv.setImageBitmap(bitmap);
mAttacher = new PhotoViewAttacher(iv);
}
非常感谢您…我在listview中有16个类名,我想在用户单击每个类名时执行此操作,它将从url mysql检索图片(时间表)存储。每个类名都有不同的图像。现在我完成了listview,但是当单击all列表时,它也检索到了相同的图像。我的想法是使用if-else,但我不知道代码…top有我的输出图像我已经按照您的方式进行了操作,但仍然没有工作…我已经更新了SecondActivity.java您是否在您的第二个活动中应用了if-else条件?ya top有我更新的timeline.java和SecondActivity.java编码,你能帮我看看有什么问题吗?你总是把你选择的类与bs2进行比较。改变它。如果您选择的类是XXX,并且XXX的图像是“”,那么您可以使用>>如果(selectedClass.equalsIgnoreCase(“XXX”))imageUrl=“”;您的类名是什么?类名存储在mysql中,我将其重新体验到listview
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
iv = (ImageView) findViewById(R.id.imageView1);
Bundle bundle = getIntent().getExtras();
String selectedClass = "";
if(bundle != null){
selectedClass = bundle.getString("SELECTED_CLASS");
}
String imageUrl = "";
if (selectedClass.equalsIgnoreCase("PERP - BILIK SEMINAR 1"))
imageUrl = "http://192.168.1.10/timetable/class/bs1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK SEMINAR 2"))
imageUrl = "http://192.168.1.10/timetable/class/bs2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 1"))
imageUrl = "http://192.168.1.10/timetable/class/bt1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 2"))
imageUrl = "http://192.168.1.10/timetable/class/bt2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 3"))
imageUrl = "http://192.168.1.10/timetable/class/bt3.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 4"))
imageUrl = "http://192.168.1.10/timetable/class/bt4.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 5"))
imageUrl = "http://192.168.1.10/timetable/class/bt5.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 6"))
imageUrl = "http://192.168.1.10/timetable/class/bt6.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 7"))
imageUrl = "http://192.168.1.10/timetable/class/bt7.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 8"))
imageUrl = "http://192.168.1.10/timetable/class/bt8.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 9"))
imageUrl = "http://192.168.1.10/timetable/class/bt9.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - BILIK TUTORIAL 10"))
imageUrl = "http://192.168.1.10/timetable/class/bt10.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 1"))
imageUrl = "http://192.168.1.10/timetable/class/dk1.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 2"))
imageUrl = "http://192.168.1.10/timetable/class/dk2.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 3"))
imageUrl = "http://192.168.1.10/timetable/class/dk3.jpg";
else if (selectedClass.equalsIgnoreCase("PERP - DEWAN KULIAH 4"))
imageUrl = "http://192.168.1.10/timetable/class/dk4.jpg";
bitmap = getBitmapFromURL(imageUrl);
iv.setImageBitmap(bitmap);
mAttacher = new PhotoViewAttacher(iv);
}