Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ScrollView中的Android TextView不工作-强制关闭_Android_Textview_Scrollview_Forceclose - Fatal编程技术网

ScrollView中的Android TextView不工作-强制关闭

ScrollView中的Android TextView不工作-强制关闭,android,textview,scrollview,forceclose,Android,Textview,Scrollview,Forceclose,我正在尝试创建一个能够滚动大量文本的文本视图。我将它嵌套在scrollview中,在尝试测试它时,我的手机和平板电脑会被强制关闭。当我在没有scrollview的情况下运行时,它会工作,但显然不会滚动。以下是我的XML文件中关于布局的内容: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:la

我正在尝试创建一个能够滚动大量文本的文本视图。我将它嵌套在scrollview中,在尝试测试它时,我的手机和平板电脑会被强制关闭。当我在没有scrollview的情况下运行时,它会工作,但显然不会滚动。以下是我的XML文件中关于布局的内容:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:scrollbars="horizontal" android:isScrollContainer="true">    
 <LinearLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:gravity="center"
  android:orientation="vertical" >

   <TextView
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:id="@+id/tutView">

   </TextView>
 </LinearLayout>
</ScrollView>
编辑2:为有问题的错误添加了我的onCreate。这将获取主视图列表中触摸到的项目,并在文本视图中显示更多信息

public class TutViewerActivity  extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.textview);

    Intent launchingIntent = getIntent();
    String content = launchingIntent.getData().toString();

    TextView viewer = (TextView) findViewById(R.id.tutView);
    viewer.setMovementMethod(new ScrollingMovementMethod());
    viewer.setText(Html.fromHtml(content));

    setContentView(viewer);
}
}

异常告诉您
非法状态异常:指定的子级已经有父级。您必须首先对子级的父级调用removeView()

这意味着您尝试将一个已经有父视图的视图放在另一个视图中

确保不要
setContentView(R.id.tutView)
或类似的内容

如果布局xml的名称是
main.xml
,那么正确的做法是
setContentView(R.layout.main)

编辑

你为什么写这行<代码>设置内容视图(查看器)这就是问题所在


您已经将其父视图设置为内容视图,将其删除即可。

如果多行
TextView
包含的文本超过其显示范围,则该视图将滚动。当日志强制关闭时,日志会显示什么内容?您知道。。。强制关闭意味着错误。。那么logcat输出在哪里呢?为大家添加了logcat。我还尝试了使用多行输入类型的
android:inputType
,并且没有滚动,只是在尝试滚动时使屏幕变暗了一点…@Rekar是的,错误在onCreate中,而不是在XML中。它甚至告诉你在rg.ah.TutViewerActivity.onCreate(TutViewerActivity.java:25所以第25行。我是Rotemmiz的,可能是你的setContentView()Sry这花了我很长时间。我添加了未经编辑的代码供您查看。我所做的不是将textview放入scrollview,而是将其保持在顶层,并添加了
setMovementMethod
代码以允许文本作为临时修复程序滚动。我仍然对修复以前的代码非常感兴趣。
public class TutViewerActivity  extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.textview);

    Intent launchingIntent = getIntent();
    String content = launchingIntent.getData().toString();

    TextView viewer = (TextView) findViewById(R.id.tutView);
    viewer.setMovementMethod(new ScrollingMovementMethod());
    viewer.setText(Html.fromHtml(content));

    setContentView(viewer);
}
}