在片段中制作用于开始活动的图像按钮?

Posted

技术标签:

【中文标题】在片段中制作用于开始活动的图像按钮?【英文标题】:make image button for start activity in fragment? 【发布时间】:2017-01-23 18:24:45 【问题描述】:

这是我的片段

public class TabFragment1 extends Fragment 

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    return inflater.inflate(R.layout.tab_fragment_2, container, false);


这是我的 tab_fragment_1

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_ android:layout_
    android:background="@color/poshzamine"
    android:orientation="vertical">

    <TextView
        android:layout_
        android:layout_
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="تخیلی"
        android:id="@+id/textview"
        android:layout_gravity="right"
        android:textColor="@color/sefid"
        android:textSize="35sp"
        android:layout_marginRight="15dp"/>

</LinearLayout>

我想在点击开始活动时编写一个 ImageButton 代码

【问题讨论】:

【参考方案1】:

使用 Intent 启动 Activity。

 public class TabFragment1 extends Fragment 
    ImageButton imageButton;

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

        View view =  inflater.inflate(R.layout.fragment_tab_fragment1, container, false);
        imageButton = (ImageButton)view.findViewById(R.id.imageButton);
        imageButton.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                startActivity(new Intent(getActivity(), NewActivity.class));
            
        );
        return view;
      
      

Xml 文件

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_  
    android:layout_
    android:orientation="vertical">

    <TextView
        android:layout_
        android:layout_
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text=" تخیلی "
        android:id="@+id/textview"
        android:layout_gravity="right"
        android:textSize="35sp"
        android:layout_marginRight="15dp"/>

    <ImageButton
        android:layout_
        android:layout_
        android:id="@+id/imageButton"/>

</LinearLayout>

【讨论】:

【参考方案2】:

您应该在 xml 文件中创建 ImageButton 视图,然后将 onClickListener 绑定到它并在 onClick 触发时调用 startActivity。

片段类。

public class TabFragment1 extends Fragment 

    ImageButton imageButton;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) 
        View view =  inflater.inflate(R.layout.fragment_tab_fragment1, container, false);
        imageButton = (ImageButton)view.findViewById(R.id.imageButton);
        imageButton.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                startActivity(getActivity(),NewActivity.class);
            
        );
        return view;

fragment_tab_fragment1.xml

<?xml version="1.0" encoding="utf-8"?>

android:orientation="vertical">

<TextView
    android:layout_
    android:layout_
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="sdfsdf"
    android:id="@+id/textview"
    android:layout_gravity="right"

    android:textSize="35sp"
    android:layout_marginRight="15dp"/>

<ImageButton
    android:layout_
    android:layout_
    android:id="@+id/imageButton"
    android:layout_gravity="center_horizontal" />

祝你好运;)

【讨论】:

以上是关于在片段中制作用于开始活动的图像按钮?的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin:片段内的按钮需要在开始活动之前单击两次。如何一键启动活动?

如何设置主活动中显示的默认片段?

从单个按钮从多个片段中提取数据

如何在主片段中单击按钮时打开导航抽屉?

从片段开始活动

在 NavigationUI 的同一主机活动上传递数据并更新片段文本/按钮