我试图在一个对话框中的recyclerView中显示数据,数据是从HTTP请求获取的。
我验证了适配器是否获得了数据——我在适配器中打印了数组长度,结果很好,但由于某些原因它不会显示数据——我所能看到的只是一个空白区域,recyclerView应该在那里。
重要提示:该应用程序运行良好,运行时没有错误或其他问题,回收器视图不存在。
final View dialogView = getLayoutInflater().inflate(R.layout.generate_question_dialog, null);
AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
alertDialog.setView(dialogView);
alertDialog.show();
Button generateQuestionBtn = alertDialog.findViewById(R.id.generateQuestionBtn);
EditText subjectEditText = alertDialog.findViewById(R.id.subjectEditText);
ProgressBar loading = alertDialog.findViewById(R.id.generateProgressBar);
Objects.requireNonNull(generateQuestionBtn).setOnClickListener(view2 -> {
if (!TextUtils.isEmpty(subjectEditText.getText().toString())){
loading.setVisibility(View.VISIBLE);
HttpUrl.Builder httpBuilder = HttpUrl.parse("ADDRESS").newBuilder();
OkHttpClient okhttpclient = new OkHttpClient();
okhttpclient.setReadTimeout(60, TimeUnit.SECONDS);
httpBuilder.addQueryParameter("subject",subjectEditText.getText().toString());
Request request = new Request.Builder().url(httpBuilder.build()).build();
okhttpclient.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
System.out.println("FAILURE");
System.out.println(e.getMessage());
}
@Override
public void onResponse(Response response) throws IOException {
String[] questions = response.body().string().split(",");
loading.setVisibility(View.INVISIBLE);
QuestionsRecyclerViewAdapter adapter = new QuestionsRecyclerViewAdapter(getContext(),questions);
new Handler(Looper.getMainLooper()).post(new Runnable(){
@Override
public void run() {
System.out.println("HERE!");
RecyclerView questionsRecyclerView = alertDialog.findViewById(R.id.generatedQuestionsRecyclerView);
questionsRecyclerView.setAdapter(adapter);
questionsRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
questionsRecyclerView.setVisibility(View.VISIBLE);
}
});
}
});
}
xmi文件:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:text="@string/enter_a_subject_and_we_ll_find_question_for_you"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/subjectEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:ems="10"
android:hint="@string/enter_subject"
android:inputType="textPersonName"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<Button
android:id="@+id/generateQuestionBtn"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:text="@string/generate_question"
android:textColor="@color/white"
android:background="@drawable/button_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/subjectEditText" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:paddingStart="185dp"
android:layout_height="wrap_content"
android:id="@+id/generatedQuestionsRecyclerView"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/generateQuestionBtn" />
<ProgressBar
android:id="@+id/generateProgressBar"
style="?android:attr/progressBarStyle"
android:layout_width="100dp"
android:layout_height="80dp"
android:visibility="invisible"
android:indeterminateTint="@color/blue_p"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/generatedQuestionsRecyclerView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/generateQuestionBtn" />
</androidx.constraintlayout.widget.ConstraintLayout>
我认为你的对话框中没有足够的空间来容纳这些项目。对话框的大小将仅适合空的RecyclerView。将项目添加到RecyclerView时,内容大小会更改,但对话框不会调整大小以适应新的内容大小。您可以使用alertDialog。getWindow()。setLayout(WindowManager.LayoutParams.MATCH_父项,WindowManager.LayoutParams.MATCH_父项)
以增加对话框的大小。
如果这还不能解决问题,那么问题可能出现在
问题RecycleServiceAdapter中。类
或以显示项目的方式。
问题内容: 我将现有的项目源代码从SVN中检出到系统中的文件夹中。然后我打开了日食。导入项目->现有Maven项目。 它导入没有问题。但是,Project Explorer将其显示为仅文件夹而不是软件包。(就像我们创建一个包然后向其添加类时,它为包根显示一个不同的图标)。我也打开了Navigator和Package Explorer。但是他们也将它们显示为文件夹。 我试过了: 在项目的根源上。但这
在一个应用程序屏幕上,我有许多EditText视图。我的应用程序是使用材料设计(AppCompactActivity等)构建的。 当显示一个EditText字段时,长按我会尝试选择文本中的一些单词。这允许我复制或共享该文本。选择一个以上的单词似乎是不可能的。 自从迁移到材质设计之后,我看到了两件事: 是的,我使用'android:textisselectable=“true”‘。您可以在下面看到E
问题内容: 我正在学习使用Bootstrap并使用组件,尤其是导航栏。 我的链接/列表项未显示。我直接从Bootstrap复制了代码。我希望有人可以解释我所缺少的。 问题答案: 在 Bootstrap 4中 ,需要使用该类来显示水平导航栏,否则它将折叠成其移动状态。 或者 ,使用Codeply,它将为您提供所有相关的库:Codeply上的Bootstrap4 这是带有 Bootstrap 4.0.
我正在尝试有一个使用IntelliJ GUI表单的UI。我创建了一个扩展JFrame的类,它只包含带有两个选项卡的JTabbedPane,每个选项卡都有一个JPanel。然后是扩展JPanel的2个其他类。但是,发射时没有面板显示。 我已经尝试使面板失效,重新涂漆和重新验证
我直接从书上抄了这些例子。代码应该在JFrame上绘制一些东西,但没有显示任何东西(除了JFrame),这里是带有main方法的类 下面是JPanel的一个子类
我试图在应用程序启动时显示项目的listview。但在应用程序启动时,没有显示listview,只有一个空白屏幕。下面是代码: MainActivity.java 但是现在我在logcat中得到了以下内容: 并且应用程序停止..请帮助!