Java Android Studio |按钮点击导航抽屉片段
我已经为这些错误挣扎了几天,我试着用谷歌搜索,但不幸的是,我找不到任何修复方法。 我还是Android Java的初学者 所以我有一个导航抽屉,里面有一个片段,我想在片段中放一个按钮,可以点击,但不知怎么的,当我把它放在我的布局中时,它就是不能识别按钮和一些东西 这是我的代码:Java Android Studio |按钮点击导航抽屉片段,java,android,android-fragments,Java,Android,Android Fragments,我已经为这些错误挣扎了几天,我试着用谷歌搜索,但不幸的是,我找不到任何修复方法。 我还是Android Java的初学者 所以我有一个导航抽屉,里面有一个片段,我想在片段中放一个按钮,可以点击,但不知怎么的,当我把它放在我的布局中时,它就是不能识别按钮和一些东西 这是我的代码: 包nl.c99.c99nlapp; 导入android.os.Bundle; 导入android.support.annotation.Nullable; 导入android.support.v4.app.Fragme
包nl.c99.c99nlapp;
导入android.os.Bundle;
导入android.support.annotation.Nullable;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.Button;
导入android.widget.TextView;
/**
*由Souf于2015年9月21日创建。
*/
公共类第一个\u片段扩展了片段{
查看我的视图;
@可空
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
MyView=充气机。充气(R.layout.first_布局,容器,错误);
返回MyView;
视图根视图=充气机。充气(R.layout.first_布局,容器,false);
按钮c=(按钮)rootView.findViewById(R.id.button2);
c、 setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
onClick(v);//这是您在所附代码上编写的方法!!
}
});
}
}
无法解析符号“OnClickListener”(新OnClickListener)
将此添加到导入中:import android.view.view.OnClickListener代码>
您只需选择一个视图,因为您有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
}
});
从未使用参数“v”。(视图五)
只需点击(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;
}
所有你的代码
您必须在代码末尾返回rootView,因为return表示“结束该方法”,因此它不会以相同的方法继续下面的代码
用以下代码替换您的代码:
package nl.c99.c99nlapp;
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.Button;
import android.widget.TextView;
public class First_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.first_layout, container, false);
Button c = (Button) rootView.findViewById(R.id.button2);
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Write your code here.
}
});
return rootView;
}
}
将“return MyView;”写在onCreateView()方法的末尾。@MaheshB它已经在onCreateView的末尾,但不知怎么的,它在stackoverflow上。感谢您的快速回复,不幸的是错误没有改变,仍然发生MyView到底是什么?MyView从xml文件加载类的布局,正如您在我文章的第二个屏幕截图中所看到的那样。@S.A.再次阅读我的编辑并将我的代码复制粘贴到您的代码。@Thilek是的,我在布局中这样做了,但它不会让类中的错误消失。
package nl.c99.c99nlapp;
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.Button;
import android.widget.TextView;
public class First_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.first_layout, container, false);
Button c = (Button) rootView.findViewById(R.id.button2);
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Write your code here.
}
});
return rootView;
}
}