【问题标题】:Click Handler of Button in Android Eclipse在 Android Eclipse 中单击按钮的处理程序
【发布时间】:2013-01-05 17:12:38
【问题描述】:

我在 MainActivity 屏幕上有 2 个按钮。 Button1 处理用户输入,而 Button2 将用户引导到下一个活动屏幕,该屏幕根据第一个按钮处理的输出显示另一个输出。每当我单击 Button1 时,它都会计算输入,但它会自动将我引导到下一个活动屏幕并显示我需要的输出,这会使 Button2 变得不可用。当我单击 Button2 时,它会引导我进入下一个活动屏幕,但它不会显示我需要的输出,它只显示 textviews 的 ID。

两个按钮的onClick属性都是calculateClickHandler。我认为问题在于Button2的属性必须与Button1不同。我尝试为 Button2 制作另一个点击处理程序,但它不起作用:

public void nextClickHandler(View view)
    {
        if (view.getId() == R.id.DGButton)
        {
            Intent myIntent = new Intent(MainActivity.this, Activity2.class);
            startActivity(myIntent);
        }
    }

这是 MainActivity 的计算按钮点击处理程序:

public void calculateClickHandler(View view)
        {
            //handle the click of the calculator button

            if (view.getId() == R.id.CalculateButton)
            {
                //code here

                Button next = (Button) findViewById(R.id.DGButton);
                next.setOnClickListener(new View.OnClickListener()
                {
                    public void onClick(View view)
                    {
                        Intent myIntent = new Intent(MainActivity.this, Activity2.class);
                        startActivity(myIntent);
                    }
                });

                Intent intent1 = new Intent(MainActivity.this, Activity2.class);
                intent1.putExtra("key", bmiValue);
                startActivity(intent1);  
            }   
        }

Activity2 的后退按钮点击处理程序:

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

        Button next = (Button) findViewById(R.id.BackToBMI);
        next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }
        });

        TextView dietplanText = (TextView)findViewById(R.id.DietPlanText);
        TextView categoryText = (TextView)findViewById(R.id.BMICategory);

        Bundle extras = getIntent().getExtras();
        if(extras != null)
        {
                //code here
            }
    }

我是 Android 编程的初学者,非常感谢任何帮助。

【问题讨论】:

    标签: java android eclipse


    【解决方案1】:

    在 calculateClickHandler(View view) 中,您应该在 if 条件之后使用 else 来启动活动。

    “两个按钮的onClick属性是calculateClickHandler。”-你说。但那是什么 nextClickHandler(View view) 看不懂。

    【讨论】:

    • 我尝试将 Button2 的 onClick 属性更改为 nextVlickHandler 但没有成功。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多