android-fragments 带有网站链接的片段按钮不起作用

z8dt9xmd  于 2022-11-14  发布在  Android
关注(0)|答案(2)|浏览(167)

我尝试添加一个链接到我创建的按钮,这是一个片段。这是目前我有。我可以让按钮工作,如果它是在主要活动,但我不知道从那里做什么。
java

public class RideSharesFragment extends Fragment {

    public RideSharesFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_ride_shares, container, false);
    }

    public void Uber(View view){
        Intent browserIntent = new Intent(
            Intent.ACTION_VIEW, Uri.parse("https://m.uber.com/")
        );
        startActivity(browserIntent);
    }
}

可扩展标记语言

<TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/Ride_shares"
        android:textColor="@color/black"
        android:textSize="32sp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_`enter code here`constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lyft"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.203" />

    <Button
        android:id="@+id/Uber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Uber"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button2" />

</androidx.constraintlayout.widget.ConstraintLayout>
sg2wtvxw

sg2wtvxw1#

**startActivity(Intent)**是Context的一个方法,所以你可以通过在Fragment中使用requireContext()getContext()准备Context示例,然后在示例上调用该方法来使用它:

requireContext().startActivity(browserIntent);
7y4bm7vi

7y4bm7vi2#

从您应该使用的片段:

Java语言:

().启动活动(浏览器意图);`
Kotlin:
活动(浏览器意图)
Using context in a fragment

相关问题