无法在父级或祖先上下文中找到方法btnconfirm(View)

时间:2016-05-01 13:45:06

标签: java android

Iam陷入了我的自定义视图微调器的微妙问题,按钮将数据发送到intent。 每当我按下按钮时,应用程序崩溃。有人可以帮助我如何获取onClickListener的视图或微调器吗?

public class MyAdapter extends ArrayAdapter<String> {
    public MyAdapter(Context context, int textViewResourceId, String[] objects) {
        super(context, textViewResourceId, objects);

    }

    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        return getCustomView(position, convertView, parent);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return getCustomView(position, convertView, parent);
    }

    public View getCustomView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = getLayoutInflater();
        View row = inflater.inflate(R.layout.row, parent, false);
        TextView label = (TextView) row.findViewById(R.id.company);
        label.setText(strings[position]);

        ImageView icon = (ImageView) row.findViewById(R.id.image);
        icon.setImageResource(arr_images[position]);

        return row;


    }
}
public void OnClickButtonListener() {

    buttonConfirm = (Button) findViewById(R.id.confirm);
    buttonConfirm.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    weightText = (EditText) findViewById(R.id.weightInput);
                    heightText = (EditText) findViewById(R.id.heightInput);
                    String userWeight = weightText.getText().toString();
                    String userHeight = heightText.getText().toString();
                    int weight = Integer.parseInt(userWeight);
                    int height = Integer.parseInt(userHeight);
                    Intent intent = new Intent("com.example.dewewors.fitup.UserInputs");
                    intent.putExtra("height", height);
                    intent.putExtra("weight", weight);
                    startActivity(intent);

                }

            }
    );

}

row.xml看起来像

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="3dip">
<ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/running"/>
<TextView
    android:layout_toRightOf="@+id/image"
    android:padding="3dip"
    android:layout_marginTop="2dip"
    android:textStyle="bold"
    android:id="@+id/company"
    android:text="CoderzHeaven"
    android:textColor="#ffff"
    android:layout_marginLeft="5dip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

 </RelativeLayout>

和activity.xml

<Spinner
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/spinner"
        android:spinnerMode="dialog"
        android:gravity="center_vertical|center|center_horizontal"
        android:textAlignment="gravity"
        android:layout_gravity="center" />

     <Button
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:text="Confirm"
        android:id="@+id/confirm"
        android:onClick="btnconfirm" />

1 个答案:

答案 0 :(得分:0)

您可以将onClick的内容移动到名为public void btnconfirm(View view)的单独方法中,因为您已在XML中设置了onClick。