Java 无法传输我单击的行中的数据

Java 无法传输我单击的行中的数据,java,android,android-layout,android-intent,android-activity,Java,Android,Android Layout,Android Intent,Android Activity,我有一个列表,我想在另一页上显示我从列表中选择的图片和名称。当我点击一个项目时,它会进入第二页,但没有给出图片或名称。这一页上什么也没有。如何解决呢?我做错了什么 在我的主要活动课上: theList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int posi

我有一个列表,我想在另一页上显示我从列表中选择的图片和名称。当我点击一个项目时,它会进入第二页,但没有给出图片或名称。这一页上什么也没有。如何解决呢?我做错了什么

在我的主要活动课上:

theList.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Person x = persons.get(position);
            Intent intent = new Intent(cnt, page2.class);
            intent.putExtra("name", x.getName());
            intent.putExtra("gender", x.isWomen());

            startActivity(intent);
        }
    });

正如卡佩勒在评论中所说

您应该为在onCreate中调用的视图指定名称和性别


至于TextView,只需调用.settextname,我假设您希望显示性别图像而不是布尔值,如果使用位图,则必须先使用ifgender语句,然后才能使用.setImageBitmap填充ImageView;如果使用Drawables,则必须使用.setImageDrawable。

persons是您的arraylist吗?是的persons是我的列表您从persons列表中获取数据吗?在发送数据之前,请调试您在第二页中设置名称和图片的代码在哪里?你在哪里将图片传递到第二页?我并不惊讶第二个活动中什么都没有发生,因为你从来没有给那里的视图赋值。是的,我计算出来了。但不是用位图,我就是这样做的。ifgender==true{imView.setImageResourceR.drawable.woman;}否则{imView.setImageResourceR.drawable.man;}
public class page2 extends Activity {
private ImageView imView;
private TextView tView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.page2lay);

    imView = (ImageView) findViewById(R.id.page2Image);
    tView = (TextView) findViewById(R.id.page2Text);

    Rum();
}

private void Rum(){

    Intent i = getIntent();
    String name = i.getStringExtra("name");
    boolean gender = i.getBooleanExtra("gender",false);    }
}