Android 在Listview上单击标题项时获取标题和说明

Android 在Listview上单击标题项时获取标题和说明,android,json,listview,android-arrayadapter,Android,Json,Listview,Android Arrayadapter,我使用JSON从web服务器获取数据项标题和描述。我知道如何解析它,如何使用自定义适配器,如何只使用标题填充listview。。我希望它打开一个新的活动,并显示所单击项目的标题和说明。我是否必须创建新的自定义适配器来填充此listview?我应该从活动的这一边传递什么?我如何从活动的另一边接收它?提前谢谢 displayTitleAdapter = new DisplayTitleAdapter(this, R.layout.rowlayout); listView = (ListVi

我使用JSON从web服务器获取数据项标题和描述。我知道如何解析它,如何使用自定义适配器,如何只使用标题填充listview。。我希望它打开一个新的活动,并显示所单击项目的标题和说明。我是否必须创建新的自定义适配器来填充此listview?我应该从活动的这一边传递什么?我如何从活动的另一边接收它?提前谢谢

 displayTitleAdapter = new DisplayTitleAdapter(this, R.layout.rowlayout);
    listView = (ListView)findViewById(R.id.listviewfinal);
    listView.setAdapter(displayTitleAdapter);
    listView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });  
这是我的适配器类的getView方法

public View getView(int position,  View convertView,  ViewGroup parent) {
    View row;
    row = convertView;
    ReqHolder reqHolder;
    if(row == null){
        LayoutInflater layoutInflate = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        row = layoutInflate.inflate(R.layout.rowlayout, parent, false);
        reqHolder = new ReqHolder();

        reqHolder.Title = (TextView)row.findViewById(R.id.title_title);
        reqHolder.Requirement = (TextView)row.findViewById(R.id.req_req);

        row.setTag(reqHolder);
    }
    else{
        reqHolder = (ReqHolder)row.getTag();
    }
    //Requirements is the model class with getter and setter methods for Fields Title and Requirement.
    Requirements requirements = (Requirements) this.getItem(position);
    reqHolder.Title.setText(requirements.getTitle());
    reqHolder.Requirement.setText(requirements.getRequirement());
    return row;
}

static class ReqHolder{
    TextView Title;
     TextView Requirement;
}

}

以下是我为自己所做的,请确保您的模态类实现了可序列化

主要活动:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent i = new Intent(getApplicationContext(),Main2Activity.class);
            i.putExtra("Question",questionArrayList.get(position));
            startActivity(i);
        }
    });

希望这对你有帮助

我是这样做的,请确保您的模态类实现了可序列化

主要活动:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent i = new Intent(getApplicationContext(),Main2Activity.class);
            i.putExtra("Question",questionArrayList.get(position));
            startActivity(i);
        }
    });
希望这对你有帮助

这很好用:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Object o = listView.getItemAtPosition(position);
                UserConnected str=(UserConnected) o;//As you are using Default String Adapter
                Toast.makeText(getBaseContext(),str.getPrenom(), Toast.LENGTH_SHORT).show();
            }
        });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
对象o=listView.getItemAtPosition(位置);
UserConnected str=(UserConnected)o;//使用默认字符串适配器时
Toast.makeText(getBaseContext(),str.getPrenom(),Toast.LENGTH_SHORT).show();
}
});
这很好用:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Object o = listView.getItemAtPosition(position);
                UserConnected str=(UserConnected) o;//As you are using Default String Adapter
                Toast.makeText(getBaseContext(),str.getPrenom(), Toast.LENGTH_SHORT).show();
            }
        });
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
对象o=listView.getItemAtPosition(位置);
UserConnected str=(UserConnected)o;//使用默认字符串适配器时
Toast.makeText(getBaseContext(),str.getPrenom(),Toast.LENGTH_SHORT).show();
}
});

我用这个方法发送序列化的类和@dh19的方法来接收它,它成功了!谢谢。我用这个方法发送序列化类和@dh19的方法来接收它,它成功了!非常感谢。