gpt4 book ai didi

java - 如何让android按钮在java中打开一个页码

转载 作者:行者123 更新时间:2023-11-30 03:18:34 24 4
gpt4 key购买 nike

我是 java 的新手,我还在学习中,有人可以在业余时间提供这方面的帮助吗?我正在尝试做一首 10 页的诗,只是开始。

我创建了看起来像数字键盘的按钮,我试图让这个数字在被按下/点击时起作用。我能够在按下时显示数字。但是,我遇到的问题是如何让这个数字打开我用数字创建的另一个布局。

假设我已经创建了一个布局并且我希望它是第 7 页,我该如何设置它以便在按下数字 7 时(它显示诗歌的第一行/标题)以及“开始”按钮单击,它会打开第 7 首诗的版面。

谢谢

编辑

我按照你告诉我的去做,现在我有了一个布局和一个 fragment 类。

`<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >

<android.support.v4.view.ViewPager
android:id="@+id/text_fragment_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<TextView
android:id="@+id/tvpoem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium" />

`

fragment java 类如下:
公共(public)类 PoemMapFrag 扩展 fragment

`{  @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragpoemsmap, container, false);
TextView fragpageone = (TextView) view.findViewById(R.id.tvpoems);
fragpageone.setText("Testing");
return view;

}

public View onCreateView1(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragpoemsmap, container, false);
TextView fragpagetwo = (TextView) view.findViewById(R.id.tvpoems);
fragpagetwo.setText("Yawning");
return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
}`

最佳答案

处理按钮点击的方法是为其分配一个 OnClickListener,如下所示:

button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
//start a new activity or replace the Fragment in view
}
};

对于您的特定情况,您可以使用 Fragments显示每个页面,使用 FragmentTransaction to replace the Fragment in view .如果您使用 Activity,您将有 10 个 OnCLickListener(每个页面一个),所以我不建议这样做。

或者,您可以只使用滑动手势来切换 Fragment,从而摆脱您的按钮。 ViewPager专为此而设计,您可以使用 Jake Wharton's ViewPagerIndicator库,以提供有关正在查看哪个页面的视觉反馈。

如果你需要我澄清一些事情,不要犹豫,尽管问 ;-)

编辑:根据您的要求,以下是我使用 Fragments 的方法:

为每个页面创建一个 fragment 。您可以每次都重复使用相同的布局,只包含一个带有页面文本的 TextView,宽度和高度设置为 match_parent。在 fragment 的 onCreateView 中,您会像这样获得对 TextView 的引用:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_page_layout, container, false);

// Get references to layout elements
pageTextView = (TextView) view.findViewById(R.id.article_paragraph_title);
return view;
}

在 onActivityCreated 中:

pageTextView.setText(yourTextForThisPage);

在您的 Activity 中,您可以设置一个按钮来切换页面,或者使用 ViewPager。主要思想是 Activity 将负责切换 Fragment,从而更改 View 中的文本,因为每次更改 Fragment 时,都应该创建一个新的 Fragment 并替换之前的 Fragment。您可以使用我上面提供的链接开始,或关注 THIS TUTORIAL ,这似乎或多或少地达到了我试图解释的目的。我希望这能澄清一点......

关于java - 如何让android按钮在java中打开一个页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19591620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com