Java TabWidget内的Android Spinner坏令牌
就这一点而言,我对Android和Java是相当陌生的,并且有一个上下文问题-我在另一个TabWidget中的TabWidget中有一个微调器,在代码方面,我有一个主类,它是一个TabActivity,在其中我将一个特定选项卡的意图设置为另一个TabActivity,其中,我将选项卡的意图设置为活动,将内容视图设置为具有微调器的布局(希望这是有意义的)。每当我点击微调器,它试图为微调器启动对话框时,它就会给我一个错误的标记错误。从我所读到的,这是因为我的微调器具有错误的上下文,但由于我没有主动设置上下文(我用XML创建了微调器),而且我似乎找不到方法或公开属性来设置微调器的上下文……好吧,你明白了,尽管阅读了其他人的类似问题,我还是在这一点上迷失了方向。这是我的密码: 主要内容: 子选项卡:Java TabWidget内的Android Spinner坏令牌,java,android,spinner,android-context,tabwidget,Java,Android,Spinner,Android Context,Tabwidget,就这一点而言,我对Android和Java是相当陌生的,并且有一个上下文问题-我在另一个TabWidget中的TabWidget中有一个微调器,在代码方面,我有一个主类,它是一个TabActivity,在其中我将一个特定选项卡的意图设置为另一个TabActivity,其中,我将选项卡的意图设置为活动,将内容视图设置为具有微调器的布局(希望这是有意义的)。每当我点击微调器,它试图为微调器启动对话框时,它就会给我一个错误的标记错误。从我所读到的,这是因为我的微调器具有错误的上下文,但由于我没有主动设
public class Pick_Activity extends TabActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pick);
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
intent = new Intent().setClass(this, Pending_Activity.class);
spec = tabHost.newTabSpec("pending").setIndicator(LinearLayout.inflate(this,R.layout.tab_header_pending, null))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
}
儿童活动:
public class Pending_Activity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.pending);
addSpinnerValues();
}
public void addSpinnerValues()
{
Spinner spn = (Spinner)findViewById(R.id.spnPick);
List<String> list = new ArrayList<String>();
list.add("list 1");
list.add("list 2");
list.add("list 3");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spn.setAdapter(dataAdapter);
}
}
公共类挂起\u活动扩展活动
{
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.pending);
addSpinnerValues();
}
公共void addSpinnerValues()
{
微调器spn=(微调器)findViewById(R.id.spnPick);
列表=新的ArrayList();
列表。添加(“列表1”);
列表。添加(“列表2”);
列表。添加(“列表3”);
ArrayAdapter dataAdapter=新的ArrayAdapter(这是android.R.layout.simple\u微调器\u项,列表);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
设置适配器(数据适配器);
}
}
Main和Pick的xml文件基本上是hello tabwidget教程的副本,my pending.xml只是一个框架布局,包含几个按钮和微调器。如果有帮助的话,我可以发布代码,但是我在发布更多代码时遇到了问题(可能是字符限制)
任何关于如何正确设置我的上下文的帮助(如果不麻烦的话,还有一个小的解释)都将不胜感激 花了我一段时间,但我发现另一个帖子有部分解决方案,至少对我的目的有很大帮助……我只是改变了我的:
setContentView(R.layout.pending);
致:
因此,我的pending.xml页面的上下文被设置为家长的上下文…尽管我承认,我真的不明白为什么它不一定是家长的家长,以及为什么仅仅是家长本身是孩子是可以接受的…希望给我一些时间,我会开始理解它。花了我一段时间,但我发现另一个帖子有部分解决方案,至少对我的目的有很大帮助……我只是改变了我的:
setContentView(R.layout.pending);
致:
因此,我的pending.xml页面的上下文被设置为家长的上下文…尽管我承认,我真的不明白为什么它不一定是家长的家长,为什么只有家长本身是孩子是可以接受的…希望给我一些时间,我会开始理解它
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.pending, null);
this.setContentView(viewToLoad);