Android Java-Java.lang.RuntimeException:无法启动活动组件信息
我已经在论坛上看到了这样的问题,尝试了很多东西,但从未找到解决问题的方法。 我只是想在主活动中插入一个片段,但无法删除此异常消息。。。 我正在Android Studio版本0.9.9上编写代码。使用JDK1.7 以下是主活动和占位符片段的代码:Android Java-Java.lang.RuntimeException:无法启动活动组件信息,android,xml,exception,fragment,Android,Xml,Exception,Fragment,我已经在论坛上看到了这样的问题,尝试了很多东西,但从未找到解决问题的方法。 我只是想在主活动中插入一个片段,但无法删除此异常消息。。。 我正在Android Studio版本0.9.9上编写代码。使用JDK1.7 以下是主活动和占位符片段的代码: import android.app.Fragment; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.La
import android.app.Fragment;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_three);
if(savedInstanceState == null) {
getFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment())
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A Placeholder fragment that contains a simple view
*/
public static class PlaceholderFragment extends Fragment {
private ArrayAdapter<String> mTagListAdapter;
public PlaceholderFragment() {
super();
}
public View OnCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.library_fragment, container, false);
final TextView answerLabel=(TextView)rootView.findViewById(R.id.listview_tag);
return rootView;
}
}
非常感谢您的帮助,我现在有点绝望…容器必须是
视图组。在activity_three.xml中
change
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp" />
到
此处:
getFragmentManager().beginTransaction().add(R.id.container,新建
占位符片段()
您正在将TextView
传递给碎片管理器的add
方法
您需要传递视图容器id,该id能够保存其他视图,如RelativeLayout、LinearLayout、FrameLayout等,。。。添加FragmentManager
方法!
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="64dp"
android:paddingRight="64dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
tools:context=".PlaceholderFragment">
<TextView
android:id="@+id/listview_tag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_world"
/>
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.eseoteam.android.tagfinderbeta/com.eseoteam.android.tagfinderbeta.MainActivity}:
java.lang.ClassCastException: android.widget.TextView cannot be cast to android.view.ViewGroup
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp" />