从Fragment更改为Activity

时间:2014-11-29 13:17:22

标签: java android android-intent android-activity android-fragments

我是Android编程的新手。我有一个问题,那就是我如何从片段到活动的意图。 我试图编码,但我失败了:(('l_places'是Fragment Places的布局,'p_tr_fr'是可点击的TableRow)
这是片段的代码:

package com.fragment.toactivity;

import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;


public class Places extends Fragment{


 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
 View rootView = inflater.inflate(R.layout.l_places, container, false);//l_places is the layout
     return rootView;
 }

public void goToAttract(View v)
{
    if (v.getId()== R.id.p_tr_fr) {
        Intent intent = new Intent(getActivity(), Listact.class);
        startActivity(intent);
    }
}
   public View onCreateView(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

};
}

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffd4d4d4">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/scrollView2" >

        <TableLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp"
            android:background="#ffffffff">

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:baselineAligned="false"
                android:clickable="true"
                android:focusable="true"
                android:focusableInTouchMode="true"
                android:layout_gravity="bottom"
                style="@android:style/Widget.AutoCompleteTextView"
                android:layout_margin="0dp"
                android:id="@+id/p_tr_fr"
                android:onClick="onClick">

                <ImageView
                    android:layout_width="60dp"
                    android:layout_height="60dp"
                    android:id="@+id/imageView2"
                    android:src="@drawable/m_pf"
                    android:scaleType="fitCenter"
                    android:layout_marginLeft="6dp"
                    android:layout_marginTop="6dp"
                    android:layout_marginBottom="6dp" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceLarge"
                    android:text="@string/s_shop"
                    android:id="@+id/textView3"
                    android:layout_column="1"
                    android:layout_gravity="center_vertical"
                    android:textStyle="bold"
                    android:textSize="18dp"
                    android:textColor="#ff000000"
                    android:layout_marginLeft="6dp" />
            </TableRow>
        </TableLayout>
    </ScrollView>

</LinearLayout>

当我点击TableRow时,应用会停止。请帮忙! (对不起我的英文)

2 个答案:

答案 0 :(得分:0)

这样做,

Intent myIntent = new Intent(getActivity(), BookmarkActivity.class);
            getActivity().startActivity(myIntent); 

答案 1 :(得分:0)

@NAP代码应该可以正常工作。如果app停止 - 给我们堆栈跟踪? 可能的原因是您的活动未在AndroidManifest中声明。

你应该有像

这样的东西
<activity android:name="yourpackage.Listact" />

<application>代码

之间