新手Android问题在这里。我正在使用ADT包中提供的新固定标签+滑动。它让一切都很好,整洁。我已经在操作栏中添加了4个选项卡或片段,现在是时候配置片段本身了,比如添加按钮,表格链接等等。我在第一个片段中添加了一个表。此表非常类似于根Android操作系统中的“设置”表。该表是一个网络连接表,它将控制打开BT和Wifi无线电。在OS表中,该行有一个“开关”来控制BT或Wifi无线电状态。此外,您可以单击该行,它将转发到另一个视图/活动,以查看找到的网络列表。我试图让行可以点击,然后添加方法,告诉该行点击时该做什么。
我很困惑,OnClickListener是否会进入片段本身,或者它是否位于寻呼机所在的Main处?在我看来它会进入片段本身,因为它属于它。由于“extends Fragment”不使用按钮或Activity中的任何一个包,这就是我被杀的地方。
以下是带有我的表格行的片段的xml摘录:
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:onClick="rowClick" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center_vertical"
android:maxHeight="10dp"
android:maxWidth="10dp"
android:paddingLeft="10dp"
android:paddingTop="7dp"
android:src="@drawable/wifi" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_weight="4"
android:gravity="center_vertical|left"
android:text="@string/wifi"
android:textColor="@color/white"
android:textSize="24dp" />
<ToggleButton
android:id="@+id/tbWifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/wifitogglebutton"
android:textColor="@color/white" />
</TableRow>
您可以看到我已在行中添加了ID,也添加了“可点击”属性。因此,当用户在操作系统设置选项卡中单击此行时,他/她应转发到另一个布局,在那里他们可以看到可用网络列表。 ADT提供的标准片段如下:
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TableRow;
public class SettingsActivity extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_settings, container,
false);
return rootView;
}
}
如果有用,那么调用此选项卡片段的MAINACTIVITY如下:
// Tab1 Settings Tab
public static class DummySectionFragment extends Fragment {
/**
* The fragment argument representing the section number for this
* fragment.
*/
public static final String ARG_SECTION_NUMBER = "section_number";
public DummySectionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_settings,
container, false);
return rootView;
}
}
我希望我的问题有点意义。旧标签似乎更容易。
由于
答案 0 :(得分:0)
更好的选择是,您可以在OnClickListener
本身中使用fragment
,然后只有re-use
fragment
在其他activity
内implement
没有OnClickListener
} {{1}}再次。