我收到以下错误 -
java.lang.IllegalStateException:指定的子级已有父级。您必须首先在孩子的父母身上调用removeView()。
我是Android编程的新手,我不知道什么是inflater。这是我的代码产生此错误消息。
package com.example.android.miwok;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Layout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class NumbersActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_numbers); // gives Null Pointer Exception if this line is removed.
List<String> numbers = new ArrayList<String>();
numbers.add("one");
numbers.add("two");
numbers.add("three");
numbers.add("four");
numbers.add("five");
numbers.add("six");
numbers.add("seven");
numbers.add("eight");
numbers.add("nine");
numbers.add("ten");
LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);
TextView numberView = new TextView(this);
for (int i = 0; i < 10; i++) {
numberView.setText(numbers.get(i));
// adds a Text View to the Linear Layout (adding child to the parent)
rootView.addView(numberView);
}
}
}
这是activity_numbers.xml文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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"
android:fitsSystemWindows="true"
tools:context="com.example.android.miwok.PhraseActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/rootView">
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
我正在尝试在屏幕上显示数字。
感谢您的帮助。
答案 0 :(得分:0)
您正在重复添加相同的视图,因此错误。这应该解决它:
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);