【问题标题】:Button click not working in Fragment按钮单击在片段中不起作用
【发布时间】:2017-01-14 04:00:02
【问题描述】:

我想在片段按钮点击时显示 activity_main。

我的代码有问题吗?

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

   Button smart1 = (Button) myView.findViewById(R.id.smart1);
    smart1.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
           getActivity().onBackPressed();

        }

    });


    return myView;
}

按钮不工作。它只是停留在同一页面上,没有任何反应。

为纳斯编辑

import android.app.Fragment;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Toast;
import android.view.View.OnClickListener;


public class Splash extends Fragment {

    View myView;


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

        return myView;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        Button smart1 = (Button) view.findViewById(R.id.smart1);
        smart1.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
                getActivity().onBackPressed();

        }

        });


    }
}

这是 Splash.java,奇怪的是为什么按钮不起作用。提前谢谢你。

【问题讨论】:

  • 你想做什么?
  • @ρяσѕρєяK 我想获取我的 MainActivity onBackPressed 的数据
  • 我想这就是你想要的:stackoverflow.com/a/41310395/6632568
  • 你实际上想做什么?你什么也得不到。您正在调用响应后按而调用的方法,而不是实际模拟后退动作。您要完成活动吗?
  • @cricket_007 我想从我的片段按钮点击转移到布局activity_main。

标签: java android


【解决方案1】:

这样试试

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

    Button smart1 = (Button) view.findViewById(R.id.smart1);
    smart1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
       getActivity().onBackPressed();

    }

});

【讨论】:

  • 谢谢你,但它仍然没有做任何按钮点击。
  • 然后尝试在您的情况下为父布局保持可点击的相对布局
  • 让您的按钮 smart1 保持可点击状态。还是不行??
  • 是的,先生。 android:clickable="true" 仍然没有给我任何东西。
  • 没有人告诉你保持可点击的父布局以及你试图触发事件的按钮视图
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多