小编rak*_*das的帖子

迭代列表以在Flutter中呈现多个小部件?

我有一个像这样定义的字符串列表:

var list = ["one", "two", "three", "four"]; 
Run Code Online (Sandbox Code Playgroud)

我想使用文本小部件并排显示屏幕上的值.我试图使用以下代码来尝试这个:

for (var name in list) {
   return new Text(name);
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,for循环只运行一次,并且只有一个文本小部件被渲染,表示one(列表中的第一项).另外,当我在for循环中添加日志消息时,它也会被触发一次.为什么我的for循环不是基于列表的长度?它似乎只运行一次然后退出.

dart flutter

35
推荐指数
7
解决办法
5万
查看次数

在Dart中解析具有嵌套对象数组的JSON?

我正在制作一个Flutter应用程序,我正在使用The MovieDB api来获取数据.当我打电话给api并要求一部特定的电影时,这是我得到的一般格式:

{
   "adult": false,
    "backdrop_path": "/wrqUiMXttHE4UBFMhLHlN601MZh.jpg",
    "belongs_to_collection": null,
    "budget": 120000000,
    "genres": [
        {
            "id": 28,
            "name": "Action"
        },
        {
            "id": 12,
            "name": "Adventure"
        },
        {
            "id": 878,
            "name": "Science Fiction"
        }
    ],
    "homepage": "http://www.rampagethemovie.com",
    "id": 427641,
    "imdb_id": "tt2231461",
    "original_language": "en",
    "original_title": "Rampage",
...
}
Run Code Online (Sandbox Code Playgroud)

我已经设置了一个模型类来解析它,并且类定义如下:

import 'dart:async';

class MovieDetail {
  final String title;
  final double rating;
  final String posterArtUrl;
  final backgroundArtUrl;
  final List<Genre> genres;
  final String overview;
  final String tagline;
  final int id;

  const MovieDetail(
      {this.title, this.rating, this.posterArtUrl, …
Run Code Online (Sandbox Code Playgroud)

json dart flutter

12
推荐指数
2
解决办法
1万
查看次数

试图在Kotlin中创建一个简单的recyclerView,但是适配器没有正确应用

我正在尝试在Kotlin中使用我通过Volley获得的数据创建一个简单的recyclerView(我已经确认返回了正确的数据),我一直在运行错误E/RecyclerView: No adapter attached; skipping layout,实际上我已经指定了一个带有我自定义适配器类的适配器创建:

class ImageAdapter(var c: Context, var list: ArrayList<Image>) : RecyclerView.Adapter<ImageAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder? {
    val layoutInflater = LayoutInflater.from(parent.context)
    return ViewHolder(layoutInflater.inflate(R.layout.image_cardview, parent, false))
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val imageUrl = list[position].url
    val submitter = list[position].submitter
    val color = list[position].color
    holder.submitterTV.text = submitter
    holder.card.setCardBackgroundColor(Color.parseColor(color))
}

override fun getItemCount() = list.size
class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
    val card = itemView.card
    val submitterTV = itemView.submitter
    val imageView = itemView.image …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-recyclerview

11
推荐指数
2
解决办法
3万
查看次数

Android Studio中的多个根标签

我在Android Studio中编辑了fragment_main.xml,我收到此错误:

多个根标签

这里讨论的代码块是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">

</LinearLayout>
<EditText   <!--Error here in the bracket-->
android:id="@+id/edit_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button    <!--Error here in the bracket-->
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"/>
Run Code Online (Sandbox Code Playgroud)

我在EditText之前和Button之前的括号中得到错误

java android android-layout android-fragments

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

FragmentManager.beginTransaction()不能应用于(int,android.app.fragment)

我试图在Android中创建一个导航抽屉,我遇到了一些问题.我的MainActivity.java中有一个方法可以处理我在导航抽屉上的点击,并指导用户进行适当的活动.方法如下所示:

      @Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    android.app.Fragment objFragment = null;
    switch (position){
        case 0:
            objFragment= new menu1_Fragment();
            break;
        case 1:
            objFragment = new menu2_Fragment();
            break;
        case 2:
            objFragment = new menu3_Fragment();
            break;
    }
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, objFragment)
            .commit();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我在第三行到最后一行出错了.replace(R.id.container, objFragment):FragmentTransaction cannot be applied to (int, android.app.fragment)

java android android-fragments navigation-drawer

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

android-根据需要滚动每个RecyclerView元素中的TextView

我有一个RecyclerView(ytRC),在该RecyclerView中,每个元素都有一个缩略图和一个相应的标题,该标题通过适配器(ResultsAdapter)进入RecyclerView内部,该适配器将缩略图和标题放入cardview中。我想使cardview中的标题变成一行,这很容易。但是,有些标题过长,因此无法使用。我认为选取框文本视图将是解决此问题的好方法,因此我开始寻找解决方案。

我发现了一些成果,如这个和这个。但是,这些解决方案仅能部分起作用,这意味着RecyclerView中的50个元素中只有1个实际滚动了,这取决于它们的长度。我认为发生这种情况是因为我正在调用,title.setEnabled(true);并且title.requestFocus();使用的onBindViewHolder()方法,ResultsAdapter并且仅当在RecyclerView中生成唯一的某个视图时,文本才被破坏。

我想尝试的另一个解决方案是创建一个自定义TextView类ScrollingTextView:

import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;


public class ScrollingTextView extends android.support.v7.widget.AppCompatTextView {
public ScrollingTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    init();
}

public ScrollingTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

private void init() {
    //set scrolling
    setSelected(true);
    requestFocus();
}
}
Run Code Online (Sandbox Code Playgroud)

但是,使用该类将产生相同的结果。那么,我该如何在每个文本太多的RecyclerView元素中将textview框起来?

android textview recycler-adapter android-recyclerview

2
推荐指数
1
解决办法
1340
查看次数

如何解析javascript中的JSON数组,该数组在数组中的每个对象周围都有一个引号?

我这里有一个奇怪的情况.我有一个文本文件,它是一个JSON对象列表,它们由换行符分隔,如下所示:

{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}
{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}
{"upSpeed": 13.890492898595365, "downSpeed": 87.35392034236816, "time": "2016-12-12T21:37:52.174878"}
{"upSpeed": 13.69741910903317, "downSpeed": 88.08812682966898, "time": "2016-12-12T21:41:04.688231"}
...
Run Code Online (Sandbox Code Playgroud)

我fs.readFile(text file)用来加载该文本文件,然后array = data.split("\n")逐行拆分文本文件,然后插入每一行array,创建一个名为的JSON数组array.但是,问题是当我使用分割原始文本文件时data.split("\n"),程序将结果对象包装'在任一侧的单引号()中,从而导致无效的JSON.所以,它最终看起来像这样:

[ '{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}',
  '{"upSpeed": 13.860419184316857, "downSpeed": 85.93058668830014, "time": "2016-12-12T21:31:56.507318"}',
  '{"upSpeed": 13.890492898595365, "downSpeed": 87.35392034236816, "time": "2016-12-12T21:37:52.174878"}',
  '{"upSpeed": 13.69741910903317, "downSpeed": 88.08812682966898, "time": "2016-12-12T21:41:04.688231"}'
...]
Run Code Online (Sandbox Code Playgroud)

那么,无论如何都要避免添加单引号,结果是实际的javascript对象?我试图创建一个for循环并循环遍历数组中的每个元素并运行array[i] = array[i].replace(/'/g, "");以使用nothing("")替换单引号但这根本不起作用并返回上面显示的完全相同的结果.有任何想法吗?

javascript arrays json node.js

0
推荐指数
1
解决办法
897
查看次数