我已经为这些错误苦苦挣扎了几天,我尝试用谷歌搜索它,但遗憾的是我找不到任何修复方法。 我仍然是 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 我不知道为什么 rootView
和 MyView
然后你的 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/