Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跟踪按钮从服务器单击列表视图。Android-Java_Java_Php_Android_Json - Fatal编程技术网

跟踪按钮从服务器单击列表视图。Android-Java

跟踪按钮从服务器单击列表视图。Android-Java,java,php,android,json,Java,Php,Android,Json,我使用AsyncResponse从托管在服务器上的数据库获取数据。我将这些数据用作可点击列表视图中的场馆。在用户点击一个场馆后,它将引导他们进入VenueID指向的场馆页面。我的问题是,确定单击了哪个场馆的最佳方法是什么,以及如何将该信息传递给另一个将显示场馆页面活动的类?在此问题上的任何帮助都将不胜感激 干杯 public class MainMenu extends AppCompatActivity implements AsyncResponse { private ArrayList&

我使用AsyncResponse从托管在服务器上的数据库获取数据。我将这些数据用作可点击列表视图中的场馆。在用户点击一个场馆后,它将引导他们进入VenueID指向的场馆页面。我的问题是,确定单击了哪个场馆的最佳方法是什么,以及如何将该信息传递给另一个将显示场馆页面活动的类?在此问题上的任何帮助都将不胜感激

干杯

public class MainMenu extends AppCompatActivity implements AsyncResponse {
private ArrayList<GetVenue> venuelist;
private ListView lvVenue;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_menu);
    Button mapButton = (Button) findViewById(R.id.location);
    PostResponseAsyncTask taskRead = new PostResponseAsyncTask(MainMenu.this, this);
    taskRead.execute("my url");

    //Map button - open map page
    mapButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent(MainMenu.this, MapActivity.class));
        }
    });
}

public void OnClickVenue (View view){
  //  Toast.makeText(getApplicationContext(),name,Toast.LENGTH_LONG).show();

    Intent appInfo = new Intent(MainMenu.this, VenueActivity.class);
    startActivity(appInfo);
}
@Override
public void processFinish(String s) {

    venuelist = new JsonConverter<GetVenue>().toArrayList(s, GetVenue.class);

    final BindDictionary<GetVenue> dict = new BindDictionary<GetVenue>();
/*    dict.addStringField(R.id.VenueID, new StringExtractor<GetVenue>(){
        @Override
        public String getStringValue(GetVenue venue, int position){
            return "" + venue.VenueID;
        }
   });*/

    dict.addStringField(R.id.VenueName, new StringExtractor<GetVenue>() {
        @Override
        public String getStringValue(GetVenue venue, int position) {
            return venue.VenueName;
        }
    });
  /*  dict.addStringField(R.id.Phone, new StringExtractor<GetVenue>() {
        @Override
        public String getStringValue(GetVenue venue, int position) {
            return venue.Phone;
        }
    });*/


    FunDapter<GetVenue> adapter = new FunDapter<>
            (MainMenu.this, venuelist, R.layout.layout_main, dict);

    lvVenue = (ListView) findViewById(R.id.lvVenue);
    lvVenue.setAdapter(adapter);



 /* On click of venue String, open Venue page*/

    lvVenue.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
            Intent appInfo = new Intent(MainMenu.this, VenueActivity.class);
            startActivity(appInfo);
        }
    });
}
public类主菜单扩展AppCompatActivity实现异步响应{
私人ArrayList venuelist;
私人列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u主菜单);
按钮映射按钮=(按钮)findViewById(R.id.location);
PostResponseAsyncTask taskRead=新建PostResponseAsyncTask(main menu.this,this);
taskRead.execute(“我的url”);
//地图按钮-打开地图页面
mapButton.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
startActivity(新意图(MainMenu.this、MapActivity.class));
}
});
}
公共场馆(视图){
//Toast.makeText(getApplicationContext(),name,Toast.LENGTH_LONG.show();
Intent appInfo=新Intent(main menu.this,VenueActivity.class);
星触觉(appInfo);
}
@凌驾
公共void processFinish(字符串s){
venuelist=new JsonConverter().toArrayList(s,getVincement.class);
final BindDictionary dict=新建BindDictionary();
/*dict.addStringField(R.id.VenueID,新StringExtractor(){
@凌驾
公共字符串getStringValue(getVincement,int位置){
返回“+VICENT.VenueID”;
}
});*/
dict.addStringField(R.id.VenueName,新的StringExtractor(){
@凌驾
公共字符串getStringValue(getVincement,int位置){
返回地点.VenueName;
}
});
/*dict.addStringField(R.id.Phone,新StringExtractor(){
@凌驾
公共字符串getStringValue(getVincement,int位置){
返回场地。电话;
}
});*/
FunDapter适配器=新的FunDapter
(main menu.this,venuelist,R.layout.layou_main,dict);
lvVenue=(列表视图)findViewById(R.id.lvVenue);
lvvince.setAdapter(适配器);
/*单击场馆字符串,打开场馆页面*/
lvvince.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
Intent appInfo=新Intent(main menu.this,VenueActivity.class);
星触觉(appInfo);
}
});
}

}

单击api返回位置,根据该位置,您将使用列表api get(位置)获取所选项目

lvvince.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
GetVincement getVincement=venuelist.get(位置);//使用位置int获取对应的数据
Intent appInfo=新Intent(main menu.this,VenueActivity.class);
星触觉(appInfo);
}
});

GetVenue GetVenue=venuelist.get(位置)

我为看到场馆位置的价值干杯,结果它带着“。。。GetVenue@8558be9“我如何利用这些信息为该场馆构建下一页?即,从数据库中提取数据databaseGetVenuce@8558be9是对象,因此您需要为打印GetVinceMethod中的所有值创建方法。有关更多信息,请参阅此
 lvVenue.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                               int position, long id) {
            GetVenue getVenue = venuelist.get(position);//using position int get correspondig data
            Intent appInfo = new Intent(MainMenu.this, VenueActivity.class);
            startActivity(appInfo);
        }
    });