活动完成后布局更改

时间:2013-06-19 20:27:33

标签: android android-layout layout android-activity

我正在创建一个Android应用程序,我想这样做,如果我点击一个按钮,它将切换到不同活动中的不同布局。我将不得不在活动中添加更多代码,因此只是在第一个视图中更改布局不是一个选项。我希望我的Main活动与我的main.xmlsearchResults活动相关联,以便search_results.xml这是我的主要活动中的源代码:

public void OnResult(View v)
{
    Intent myIntent = new Intent(ParseStarterProjectActivity.this, searchResults.class);
    ParseStarterProjectActivity.this.startActivity(myIntent);
}

OnResult由我的xml文件中的onClick事件调用。我的searchResults活动如下:

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.school_results);
    Toast.makeText(getApplicationContext(), "In searchResults Activity!", Toast.LENGTH_LONG).show();
    finish();

当我调试时,我发现它正在调用searchResults,但它没有显示布局。它远离我的主要布局,但它没有显示我的search_results布局。它也正确显示吐司。 我在logcat中遇到的唯一错误是:

Parent View is not a TextView

任何帮助都会受到赞赏,因为这个问题使我的项目处于停滞状态。

编辑:这是我的searchResults.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName" >

            <requestFocus />
        </EditText>

        <Button
            android:id="@+id/button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

    </TableRow>

    <TableRow
         android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/EditText01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName" />

    <Button
        android:id="@+id/Button01"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
    </TableRow>

<TableRow
         android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <EditText
            android:id="@+id/EditText01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName" />

</TableLayout>

1 个答案:

答案 0 :(得分:2)

您正在finish()的{​​{1}}活动中致电SearchResults,因此活动几乎会在打开后立即关闭。

如果您从onCreate()移除finish(),我相信您会发现您看到了新的布局。