相关疑难解决方法(0)

在Java中调用静态方法中的非静态方法

当我尝试在静态类中调用非静态方法时,我收到错误.

无法从类型回放中对非静态方法methodName()进行静态引用

我不能使方法静态,因为这也给我一个错误.

此静态方法无法从xInterface隐藏实例方法

有没有办法在另一个静态方法中调用非静态方法?(这两种方法分别是单独的包和单独的类).

java static non-static

118
推荐指数
6
解决办法
35万
查看次数

从父Activity调用Fragment方法

我在Android Fragments Dev Guide中看到,"活动可以通过使用findFragmentById()或从FragmentManager获取对片段的引用来调用片段中的方法findFragmentByTag()".

下面的示例显示了如何获取片段引用,但不显示如何调用片段中的特定方法.

任何人都可以举例说明如何做到这一点?我想从父Activity调用片段中的特定方法.谢谢.

android android-fragments

113
推荐指数
6
解决办法
15万
查看次数

从片段内部调用活动方法

我试图从Fragment屏幕调用一个方法中的方法.

我有一个名为myMethod()的方法,它位于一个名为MyActivity的活动中; 我有一个名为Screen1Fragment的片段.

我想从Screen1Fragment中调用MyActivity.myMethod(),但我不知道该怎么做.

以前Screen1Fragment是一个活动,因此我扩展了MyActivity,以便我可以直接调用myMethod().但我不得不将活动更改为片段以滑动标签使用.

提前致谢.

android android-fragments android-activity android-fragmentactivity

16
推荐指数
2
解决办法
4万
查看次数

Viewpager2 和片段

ViewPager2 does not support direct child views
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码在片段之间进行转换,但在使用 viewpager2 时出现上述错误。

调用片段 1 转换到片段 2:

getFragmentManager().beginTransaction().replace(R.id.viewPager2, new q2_fragment()).addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)

主布局中的 Viewpager2 XML:

<androidx.viewpager2.widget.ViewPager2
            android:id="@+id/viewPager2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="10"
            android:orientation="horizontal"
            android:scaleType="fitXY" />
Run Code Online (Sandbox Code Playgroud)

Main 中的实例化:

final ViewPager2 viewPager2 = findViewById(R.id.viewPager2);
        viewPager2.setAdapter(new QuestionsActivity.ScreenSlidePagerAdapter(this));
        viewPager2.setUserInputEnabled(false);
Run Code Online (Sandbox Code Playgroud)

如何使用 viewpager2 避免此错误?

java android android-fragments android-viewpager2

8
推荐指数
2
解决办法
7434
查看次数

从片段中获取编辑文本值

我正在使用片段,我在片段中有一个编辑文本,我想在主要活动中获得价值。

\n\n

这是我的片段布局

\n\n
<?xml version="1.0" encoding="utf-8"?>\n<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"\n    android:layout_width="match_parent"\n    android:layout_height="match_parent"\n    android:orientation="vertical"\n    android:background="#878787" >\n\n        <TextView android:layout_width="fill_parent"\n        android:layout_height="wrap_content"\n        android:gravity="center"\n        android:text="dfgdfgdf"\n        android:textSize="20dp"\n        android:layout_centerInParent="true"\n        android:id="@+id/user_name"/>\n\n    <EditText\n    android:id="@+id/message"\n    android:layout_width="fill_parent"\n    android:layout_height="wrap_content"\n   />\n\n    <Button \n        android:text="G\xc3\xb6nder"\n        android:layout_width="fill_parent"\n        android:layout_height="wrap_content"\n        android:onClick="getFromUser"\n        android:layout_marginTop="40dp"\n        />\n\n</RelativeLayout>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在使用此函数加载片段:

\n\n
public void startChat(JsonObject user) {\n    FrameLayout layout = (FrameLayout)findViewById(R.id.container);\n    layout.setVisibility(View.VISIBLE); \n    Bundle bundle = new Bundle();\n    bundle.putString("name", user.get("name").getAsString());\n    sendTo=user.get("username").getAsString();\n    FragmentManager fragmentManager = getSupportFragmentManager();\n    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();\n    ConversationFragment conv = new ConversationFragment();\n    conv.setArguments(bundle);\n    fragmentTransaction.add(R.id.container, conv);\n    fragmentTransaction.commit();\n    viewPager.setVisibility(View.GONE);\n    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);\n    actionBar.setDisplayHomeAsUpEnabled(true);\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的片段类

\n\n
public …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

5
推荐指数
1
解决办法
3万
查看次数

在Android WebRTC应用程序中使用DataChannel

由于Android WebRTC客户端示例中的重大变化,我正在寻找代码示例,该示例演示如何在Android中添加和使用DataChannel.我需要通过DataChannel在2个Android设备之间发送"Hello Worlds".这是旧代码:

https://chromium.googlesource.com/external/webrtc/stable/talk/+/master/examples/android/src/org/appspot/apprtc/AppRTCDemoActivity.java#177

它使用了新版本中不存在的一些类和接口.

那么我如何才能将DataChannel的支持添加到我的Android WebRTC应用程序中,通过它发送和接收文本?

java android webrtc

4
推荐指数
1
解决办法
5984
查看次数

从静态片段类中调用主类中的方法

我有一个片段类,我想在我的活动的"主"类中调用一个方法.片段类是静态的,因此可能是导致问题的原因,尽管我必须保持静态.我希望能够从我的静态类中做到这样的事情: Method(); 我已经尝试过: getActivity().Method(); 虽然这不起作用.我该怎么办?

methods static android class fragment

3
推荐指数
1
解决办法
4497
查看次数

在ViewPager中调用片段上的方法

我想做的就是调用Fragment类的函数.但我似乎无法找到一种方法来访问ViewPager中我的片段的实例.

我的活动的xml:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" />
Run Code Online (Sandbox Code Playgroud)

没有这样我不能调用findFragmentById()(可以吗?)我也不知道给findFragmentByTag()提供什么,它总是返回null:/

android android-fragments android-fragmentactivity

3
推荐指数
1
解决办法
9792
查看次数