- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在选项卡更改上刷新布局,但我失败了:
主要 Activity
package com.hello;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.*;
import android.widget.*;
import android.widget.TabHost.OnTabChangeListener;
public class HelloAndroidActivity extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, WatchActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("watch").setIndicator("Watch",
res.getDrawable(R.drawable.watch))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, SettingsActivity.class);
spec = tabHost.newTabSpec("settings").setIndicator("Settings",
res.getDrawable(R.drawable.settings))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, ResultsActivity.class);
spec = tabHost.newTabSpec("results").setIndicator("Results",
res.getDrawable(R.drawable.results))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
WatchActivity s = new WatchActivity();
s.setBoatsinWatch();
}
});
tabHost.setCurrentTab(0);
}
}
观看 Activity :
public class WatchActivity extends Activity {
List<String> boat_names = new ArrayList<String>();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.watch);
}
public void setBoatsinWatch() {
//setContentView(R.layout.watch);
LinearLayout ll = (LinearLayout) findViewById(R.id.boats);
ll.removeAllViews();
int j;
SettingsActivity s = new SettingsActivity();
s.initBoatNames();
boat_names = s.getBoats();
for (j=1;j<boat_names.size();j++) {
LinearLayout bl = new LinearLayout(this);
bl.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
bl.setOrientation(LinearLayout.HORIZONTAL);
Button b = new Button(this);
b.setText(boat_names.get(j));
b.setWidth(200);
b.setPadding(10, 10, 10, 10);
TextView tv = new TextView(this);
tv.setTextSize(20);
tv.setText("0");
tv.setTextColor(Color.BLACK);
tv.setPadding(50, 0, 50, 0);
ImageButton ib = new ImageButton(this);
ib.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
ib.setBackgroundResource(R.drawable.finish);
bl.addView(b);
bl.addView(tv);
bl.addView(ib);
ll.addView(bl);
}
}
watch .xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" android:weightSum="2">
<TextView android:id="@+id/textView1" android:text="" android:layout_width="wrap_content" android:layout_height="30dp"></TextView>
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/boats" android:orientation="vertical">
</LinearLayout>
</LinearLayout>
谢谢!彼得
最佳答案
您应该启动 WatchActivity 而不是实例化它
public void onTabChanged(String tabId) {
startActivity(new Intent(HelloAndroidActivity.this, WatchActivity.class)
}
});
然后您应该从您的 WatchActivity.onCreate()
调用您的 setBoatsInWatch()
。
根据下面的评论,这个答案解决了眼前的问题。
关于android - TabChange 上的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792082/
我尝试在选项卡更改上刷新布局,但我失败了: 主要 Activity package com.hello; import android.app.TabActivity; import android.
我需要在 TabView 中获取当前事件选项卡的标题。 TabView 由动态数量的选项卡构成,监听器附加到“tabChanged”: 问题是 onChange(TabChang
我正在使用 Primefaces 3.5 & JSF2.1 (Mojarra) 开发一个项目 我创建了一个素面 里面有两个选项卡,每个选项卡都有一个primefaces数据表
我在使用 primefaces 5.0 和 jsf 2.2.5 时遇到了问题。用一个 p:tabView 两个选项卡共享相同的 ManagedBean 和相同的对象事件 tabChange没有按预期工
我在 SupportV4 标签主机中的 fragment 有问题,它在单个标签更改期间加载了两个 fragment 。 (使用了 Tabhost;android/support/v4/app/Frag
我有一个显示一些选项卡的页面。每个选项卡都包含一个 Accordion 。 从技术上讲,我有一个 p:tabView 组件,其中包含四个 p:tab。我们将它们称为 p:tabView > p:tab
对于选项卡面板中的每个选项卡,我都有一个位于固定位置的 float 面板。当我切换标签时,我需要将相应的 float 面板带到前面。但是,tabchange 事件仅在第一次触发。单击选项卡时如何捕获此
我是一名优秀的程序员,十分优秀!