从listview java中显示的项获取特定文本
正如代码所示,我从PHP代码中获取JSON,并将其添加到类型Reservation User的列表中,然后在数组适配器中toast该列表。 但我的问题是:我想从列表视图中再次获取这些参数, (日期、时间、tarif、stadiumN)当我单击某个特定项目时(仅这些参数,没有其他) 你知道怎么做吗? 如图所示,我打字了从listview java中显示的项获取特定文本,java,android,listview,Java,Android,Listview,正如代码所示,我从PHP代码中获取JSON,并将其添加到类型Reservation User的列表中,然后在数组适配器中toast该列表。 但我的问题是:我想从列表视图中再次获取这些参数, (日期、时间、tarif、stadiumN)当我单击某个特定项目时(仅这些参数,没有其他) 你知道怎么做吗? 如图所示,我打字了 `myreservations.setOnItemClickListener(new AdapterView.OnItemClickListener() {
`myreservations.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.e("aaaaaaaaaaaaa: ",list1.get(i).toString());
}
});
}
你现在得到了什么?我尝试过调试。一切正常,但我需要获取一个项目的值,例如,日期:2015-10-11价格:20美元。。。所以我只需要2015年10月11日和20日没有others@walid因为您已经以某种方式实现了toString,而现在使用的是list1.get(i).toString();您只能通过这种方式获取它……如果您需要不带标记文本的值,那么要么更改toString的实现,要么首先将其作为字符串temp=list1.get(i).toString()放入temp中,然后对其进行操作
ReservationUser ru=list1.get(i)
并使用String date=ru.date
@kishorejethava谢谢它起作用了:)
public class UserShowReservation extends ActionBarActivity {
ListView myreservations;
ArrayList<ReservationUser> list1 = new ArrayList<ReservationUser>();
JSONParser parser = new JSONParser();
PreferenceUtils preferenceUtils;
int success=-1;
String id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_show_reservation);
myreservations = (ListView)findViewById(R.id.lisreservationuser);
preferenceUtils = new PreferenceUtils(getApplicationContext());
id=preferenceUtils.getLastId();
list1.clear();
new NetworkRequestTask().execute();
myreservations.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.e("aaaaaaaaaaaaa: ",list1.get(i).toString());
}
});
}
private class NetworkRequestTask extends AsyncTask<Void, Void, String> {
protected void onPreExecute() {
}
@Override
protected String doInBackground(Void... params) {
String connect = Utility.getReservationsUser+"userid="+id;
List<NameValuePair> params1 = new ArrayList<NameValuePair>();
JSONObject json = parser.makeHttpRequest(connect, "POST", params1);
try {
success = json.getInt("success");
if (success == 1) {
JSONArray arr = json.getJSONArray("reservations");
for (int i = 0; i < arr.length(); i++) {
ReservationUser ru = new ReservationUser();
ru.date = arr.getJSONObject(i).getString("date");
ru.time = arr.getJSONObject(i).getInt("time");
ru.finaltarif = arr.getJSONObject(i).getDouble("finaltarif");
ru.stadiunN=arr.getJSONObject(i).getString("name");
list1.add(ru);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result) {
if(success==1) {
ArrayAdapter<ReservationUser> adapter = new ArrayAdapter<ReservationUser>(getApplicationContext(),
android.R.layout.simple_list_item_1, list1);
myreservations.setAdapter(adapter);
}
}
}
public class ReservationUser {
public String date;
public int time;
public double finaltarif;
public String stadiunN;
public String toString() {
return "DATE : " + date + "\nPrice : " + finaltarif + " $" + "\nTime : " + time + ":00" + "\nStadium : " + stadiunN;
}
}