java - 按钮在 fragment 中不起作用没有错误?

标签 java android android-fragments

另一个新手被 fragment/按钮困住了!

我有一个带有一些旋转器和一个按钮的 fragment ,该按钮应该打开一个新 Activity ,但它什么也没做 - 没有错误或强制关闭什么也没有,有什么想法吗??

感谢您的帮助:)

  package info.androidhive.tabsswipe;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;

public class BreakfastFragment extends Fragment 


{

    private Button button;

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View v = inflater
                .inflate(R.layout.fragment_breakfast, container, false);


        String[] tables = { "Where are you?", "Take out", "Table 1", "Table 2",
                "Table 3", "Table 4", "Table 5", "Table 6", };
        Spinner spinner = (Spinner) v.findViewById(R.id.table_spinner);
        ArrayAdapter<String> tableadapter = new ArrayAdapter<String>(
                this.getActivity(), android.R.layout.simple_spinner_item,
                tables);

        String[] bagels = { "Pick your Bagel!", "Plain", "Wholemeal", "Seeded", };
        Spinner spinner2 = (Spinner) v.findViewById(R.id.spinner_bageltype);
        ArrayAdapter<String> Bageladapter = new ArrayAdapter<String>(
                this.getActivity(), android.R.layout.simple_spinner_item,
                bagels);

        String[] fillings = { "A tasty filling?", "Bacon", "Sausage",
                "Bacon & Sausage", "Soft Cheese", "Butter" };
        Spinner spinner3 = (Spinner) v.findViewById(R.id.spinner_Filling);
        ArrayAdapter<String> fillingadapter = new ArrayAdapter<String>(
                this.getActivity(), android.R.layout.simple_spinner_item,
                fillings);

        String[] sauce = { "Any Sauce?", "Red", "Brown", "Mayo", "None", };
        Spinner spinner4 = (Spinner) v.findViewById(R.id.spinner_sauce);
        ArrayAdapter<String> sauceadapter = new ArrayAdapter<String>(
                this.getActivity(), android.R.layout.simple_spinner_item, sauce);

        tableadapter
                .setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        Bageladapter
                .setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        fillingadapter
                .setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sauceadapter
                .setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner.setAdapter(tableadapter);
        spinner2.setAdapter(Bageladapter);
        spinner3.setAdapter(fillingadapter);
        spinner4.setAdapter(sauceadapter);

         return v;
    }

    public void addListenerOnButton(View v) {
        // Select a specific button to bundle it with the action you want

         Button add = (Button) getView().findViewById(R.id.button1);
            add.bringToFront();
            add.setOnClickListener(new OnClickListener()

         {

            @Override
            public void onClick(View v) {
                switch (v.getId()) {
                case R.id.button1:
                    Intent intent = new Intent(getActivity(), Review.class);
                    startActivity(intent);
                    break;


                }
            }

        });

    }
}

最佳答案

需要在Fragment onCreateView(......)中添加addListenerOnButton(v),如下:

 @Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

   View v = inflater
            .inflate(R.layout.fragment_breakfast, container, false);

  addListenerOnButton(v);
  ...........
  ..........
 }

并编辑您的addListenerOnButton(v),如下所示:

public void addListenerOnButton(View v) {
     Button add = (Button) v.findViewById(R.id.button1);
     add.setOnClickListener(new OnClickListener()
     {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.button1:
                Intent intent = new Intent(getActivity(), Review.class);
                startActivity(intent);
                break;
            }
        }
    });
 }

关于java - 按钮在 fragment 中不起作用没有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22211295/

相关文章:

java - MSAL (Java) Rest API 身份验证(授权 : Bearer Token )

android - 如何测试 Galaxy S8 的 android.max_aspect

android - Android中具有多个 fragment 的多个 Activity

java - 如何使用 Fragments 为 Android 创建二维码生成器

android - 在 viewpager 中显示 Youtube 视频

java - Java 初学者的 oracle.jdbc.driver.OracleDriver 异常

JavaFX CSS : Apply hover effect to Child nodes when Parent node is hovered on

java - 如何在JavaFX中绕点旋转三角形并获取点的值?

java - 传递给 getAssets() 方法的上下文为 null

c# - 使用套接字与 MonoDroid 传输数据