在片段中添加可点击行的位置 (Android)



新手安卓问题在这里。 我正在使用 ADT 包中提供的新固定选项卡 + 滑动。 它为您设置了一切,整洁。 我已经在操作栏中添加了 4 个选项卡或片段,并且是时候配置片段本身了,例如添加按钮、表格链接等等。 我在第一个片段中添加了一个表。 此表与根 Android 操作系统中的"设置"表非常相似。该表是一个网络连接表,它将控制打开BT和Wifi无线电。 在操作系统表中,该行有一个"开关"来控制BT或Wifi无线电状态。 此外,您可以单击该行,它会将您转发到另一个视图/活动以查看找到的网络列表。 我正在尝试使该行可单击,然后添加方法,该方法将告诉该行在单击时该做什么。

我很困惑,OnClickListener 是进入片段本身还是进入寻呼机所在的主区? 在我看来,它会进入碎片本身,因为它属于它。 由于"扩展片段"不使用按钮或活动中的任何捆绑包,这就是我被杀死的地方。

以下是我的表格行片段的 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;
    }
}

如果它有用,那么调用此选项卡片段的主活动如下:

// 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;
        }
    }

我希望我的问题有点道理。 旧标签似乎容易得多。

谢谢

更好的选择是您可以在fragment本身中使用OnClickListener,然后只有您可以在其他activityre-usefragment而无需再次implement OnClickListener

相关内容

  • 没有找到相关文章

最新更新