繁体   English   中英

按钮错误viewflipper android

[英]button error viewflipper android

我正在尝试做android viewflipper。 我有3个视图,单击按钮后(下一个和上一个),我将对其进行更改。 我写了这些代码,日志说有按钮小部件错误。 如何解决呢?

我的xml布局

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" 
android:background="@drawable/radial_background">

<RelativeLayout
    android:id="@+id/relative_buy1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true">

    <Button
        android:id="@+id/buy_previous"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"> 
   </Button> 


    <Button
        android:id="@+id/buy_next"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/buy_previous"> 
    </Button>

     <Button
        android:id="@+id/buy_submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/buy_next"> 
     </Button>  

</RelativeLayout>

<RelativeLayout
    android:layout_alignTop="@id/relative_buy1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true">

    <ViewFlipper 
        android:id="@+id/ViewFlipper01"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/buy_item_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true">
            </TextView>

            <EditText
                android:id="@+id/buy_item_name_et"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_below="@id/buy_item_name">
            </EditText>         

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/buy_ques_category"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true">
            </TextView>

            <Button
                android:id="@+id/buy_food_cat_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_below="@id/buy_ques_category"> 
            </Button>    
            <Button
                android:id="@+id/buy_education_cat_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_below="@id/buy_food_cat_button"> 
            </Button>   
            <Button
                android:id="@+id/buy_personal_cat_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_below="@id/buy_education_cat_button">   
            </Button>   

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/buy_ques_cost"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true">
            </TextView>

            <EditText
                android:id="@+id/buy_ques_cost_et"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentRight="true"
                android:layout_below="@id/buy_ques_cost">
            </EditText>      

        </RelativeLayout>

    </ViewFlipper>
</RelativeLayout>

我的活动

package apps.questions;

import android.app.Activity;
import android.content.ContentValues;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.ViewFlipper;
import apps.project.R;

public class BuyActivity extends Activity implements OnClickListener {

ViewFlipper vf;

private static final String FOOD = "Food/Drinks";
private static final String EDUCATION = "Education";
private static final String PERSONAL = "Personal";

Button food_cat;
Button education_cat;
Button personal_cat;
Button next;
Button previous;
Button submit;

TextView item_name;
TextView item_cost;
TextView item_cat;
EditText name;
EditText cost;

ContentValues cv;
String iName;
double iPrice;
String iCategory;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.buy_advice_layout);


    inflateView();

    /*food_cat.setOnClickListener(this);
    education_cat.setOnClickListener(this);
    personal_cat.setOnClickListener(this);*/
}

public void onAttachedToWindow() {
    super.onAttachedToWindow();
    Window window = getWindow();
    window.setFormat(PixelFormat.RGBA_8888);
}

private void inflateView() {
    // TODO Auto-generated method stub
    cv = new ContentValues();
    vf = (ViewFlipper) findViewById(R.id.ViewFlipper01);

    next = (Button)findViewById(R.id.buy_next);
    previous = (Button)findViewById(R.id.buy_previous);
    submit = (Button)findViewById(R.id.buy_submit);

    /*food_cat = (Button)findViewById(R.id.buy_food_cat_button);
    education_cat = (Button)findViewById(R.id.buy_education_cat_button);
    personal_cat = (Button)findViewById(R.id.buy_personal_cat_button);*/

    item_name = (TextView)findViewById(R.id.buy_item_name);
    item_name.setText("Please enter the name of the item you wish to buy");
    item_cat = (TextView)findViewById(R.id.buy_ques_category);
    item_cat.setText("Please select the category of the item you wish to buy by clicking on the category button");
    item_cost = (TextView)findViewById(R.id.buy_ques_cost);
    item_cost.setText("Please enter the price of the item you wish to buy");
    name = (EditText)findViewById(R.id.buy_item_name_et);
    cost = (EditText)findViewById(R.id.buy_ques_cost_et);


}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if (v == next) {

        vf.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_in));
        vf.showNext();
    }

    if (v == previous) {

        vf.setAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.push_left_out));
        vf.showPrevious();
    }

    if (v == submit) {
        //vf.showPrevious();
    }

    if (v == food_cat) {
        iCategory = FOOD;
    }

    if (v == education_cat) {
        iCategory = EDUCATION;
    }

    if (v == personal_cat) {
        iCategory = PERSONAL;
    }
}
}

看来您没有将点击侦听器分配给按钮。 通过ID调用按钮,在查找视图下方使用以下代码。

        next = (Button)findViewById(R.id.buy_next);
        previous = (Button)findViewById(R.id.buy_previous);
        submit = (Button)findViewById(R.id.buy_submit);

        //New code
        next.setOnClickListener(this);
        previous.setOnClickListener(this);
        submit.setOnClickListener(this);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM