java - 安卓工作室 | NavigationDrawer fragment 中的按钮 onClick

标签 java android android-fragments

我已经为这些错误苦苦挣扎了几天,我尝试用谷歌搜索它,但遗憾的是我找不到任何修复方法。 我仍然是 Java for Android 的初学者。

所以我得到了一个带 fragment 的 NavigationDrawer,我想在那个 fragment 中放置一个可点击的按钮,但不知何故,当我在我的布局中得到它时,它无法识别按钮和一些东西。

这是我的代码:

package nl.c99.c99nlapp;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;

/**
 * Created by Souf on 21-9-2015.
 */
public class First_Fragment extends Fragment {
    View MyView;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        MyView = inflater.inflate(R.layout.first_layout, container, false);
        return MyView;

        View rootView = inflater.inflate(R.layout.first_layout, container, false);
        Button c = (Button) rootView.findViewById(R.id.button2);
        c.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                onClick(v);//THIS IS THE METHOD YOU WROTE ON THE ATTACHED CODE!!
            }
        });

    }
}

我的项目截图:

First_Fragment 类 http://i.stack.imgur.com/5W2uG.png

first_fragment 布局: http://i.imgur.com/ndVmcX2.png

我收到以下错误:

  • 无法解析符号“OnClickListener”(新的 OnClickListener)
  • 方法不会覆盖其父类(super class)中的方法 (@Override)
  • 从未使用过参数“v”。 (查看 v)
  • 从未使用过 OnClick 方法(public void onClick)

最佳答案

Cannot resolve symbol 'OnClickListener' (new OnClickListener)

在导入中添加:import android.view.View.OnClickListener;

你只需要选择你的 View 之一,因为你有 2 我不知道为什么 rootViewMyView 然后你的 onClickListener() 应该是:

Button c = (Button) MyView.findViewById(R.id.button2);
    c.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //your stuff here
        }
    });

Parameter 'v' is never used. (View v)

只需删除此 onClick(v)

如果你这样做,你的代码应该可以工作:

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    MyView = inflater.inflate(R.layout.first_layout, container, false);

    Button c = (Button) MyView.findViewById(R.id.button2);
    c.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //Stuff there
        }
    });
  return MyView;
}

全部用于您的代码

    package nl.c99.c99nlapp;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;

/**
 * Created by Souf on 21-9-2015.
 */
public class First_Fragment extends Fragment {
    View MyView;

    @Nullable
    @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    MyView = inflater.inflate(R.layout.first_layout, container, false);

    Button c = (Button) MyView.findViewById(R.id.button2);
    c.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            //Stuff there
        }
    });
  return MyView;
}
}

关于java - 安卓工作室 | NavigationDrawer fragment 中的按钮 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32738513/

相关文章:

java - 线程被多次调用

java - 为什么在 Java 中使用管道执行系统命令会在没有空格的情况下失败?

java - RxJava中对buffer的错误理解

android - 快速提问 : Can too many fragments make an app slow and how many?

java - 如何将 BIRT 2.5 报告升级到 BIRT 4.2

Java RMI 教程 - AccessControlException : access denied (java. io.FilePermission

java - 如何将字符串从 Java 服务器类传递到 Android Activity ?

android - 软件按钮高度

android - addPreferencesFromResource 导致 ClassCastException

java - 如何从 fragment 中禁用 Activity 的抽屉导航