Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么onClickListener在我的ViewPager框架中不工作_Android_Android Layout_Android Fragments - Fatal编程技术网

Android 为什么onClickListener在我的ViewPager框架中不工作

Android 为什么onClickListener在我的ViewPager框架中不工作,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,所以基本上我有一个viewpager,它的片段是动态添加和删除的。我试图做的是在片段中设置onClick函数,并做一些与该片段相关的事情。 下面是我的代码 MainFragment.java public class MainFragment extends Fragment implements View.OnClickListener { private static final String ARG_LAYOUT="layout"; private QuoteData quoteData;

所以基本上我有一个viewpager,它的片段是动态添加和删除的。我试图做的是在片段中设置onClick函数,并做一些与该片段相关的事情。 下面是我的代码

MainFragment.java

public class MainFragment extends Fragment implements View.OnClickListener {
private static final String ARG_LAYOUT="layout";
private QuoteData quoteData;
private String textTospeak;
private Speaker speaker;
//Returns an Instance of fragment
static Fragment newInstance(int layoutId, QuoteData quoteData) {
    Fragment result=new MainFragment();
    //quoteData = quoteDat;
    Bundle args=new Bundle();
    args.putInt(ARG_LAYOUT, layoutId);
    args.putString("quote", quoteData.getQuote());
    args.putString("author", quoteData.getAuthorName());
    args.putString("imgurl", quoteData.getAuthorName());
    result.setArguments(args);
    return(result);
}

public MainFragment(){}



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

    View fragmentView = inflater.inflate(getArguments().getInt(ARG_LAYOUT),container, false);
    TextView textview = (TextView)fragmentView.findViewById(R.id.quotetext);
    String text = (String)getArguments().get("quote") +"\n\t\t\t"+getArguments().get("author");
    textview.setText(text);

    ImageView imageView = (ImageView) fragmentView.findViewById(R.id.speak);
    imageButton.setOnClickListener(this);
    return(fragmentView);

}

@Override
public void onClick(View v) {
    //speak();
    Toast.makeText(v.getContext(),"Show me something", Toast.LENGTH_SHORT);
}
}

然后,我在片段的xml中使用了OnClick属性,并在MainActivity中创建了一个函数,这也不起作用

我错过了什么

替换:

@Override
public void onClick(View v) {
    //speak();
    Toast.makeText(v.getContext(),"Show me something", Toast.LENGTH_SHORT);
}
与:


试着在toast上调用.show(),如果是这样的话,那会很有趣-同时在那里放一个log语句too@SaikCaskey哈哈哈,是的,就是这样!这让我觉得自己真的很愚蠢,哈哈
    @Override
        public void onClick(View v) {
            //speak();
           if(v.getId() == imageButton.getId()){
            Toast.makeText(v.getContext(),"Show me something", Toast.LENGTH_SHORT).show();
          }
        }