Java Android:布局无法解析或不是字段
我的主要活动是:Java Android:布局无法解析或不是字段,java,android,xml,Java,Android,Xml,我的主要活动是: import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.vi
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.widget.ArrayAdapter;
import android.widget.ListView;
//Array of options --> ArrayAdapter --> ListView
//List view: {views: list_items.xml}
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateListView();
}
private void populateListView() {
//Create list of items
String[] myItems = {"Blue", "Green", "Purple", "Red"};
//Build Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this //Context for the activity
R.layout.list_items, //Layout to use (Create)
myItems); //Items to be displayed
//Configure the ListView
ListView list = (ListView) findViewById(R.id.listViewMain);
list.setAdapter(adapter);
ViewPager myViewPager = (ViewPager) findViewById(R.id.viewPager);
myViewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
myViewPager.setCurrentItem(1, false);
}
private class MyPagerAdapter extends FragmentPagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int pos) {
switch(pos) {
case 2: return FirstFragment.newInstance("FirstFragment, Instance 1");
case 1: return SecondFragment.newInstance("SecondFragment, Instance 1");
case 0: return ThirdFragment.newInstance("ThirdFragment, Instance 1");
default: return ThirdFragment.newInstance("ThirdFragment, Default");
}
}
@Override
public int getCount() {
return 3;
}
{}}}
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.support.v4.app.FragmentActivity;
导入android.support.v4.app.FragmentManager;
导入android.support.v4.app.FragmentPagerAdapter;
导入android.support.v4.view.ViewPager;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
//选项数组-->阵列适配器-->列表视图
//列表视图:{views:List_items.xml}
公共类MainActivity扩展了FragmentActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
populateListView();
}
私有void populateListView(){
//创建项目列表
字符串[]myItems={“蓝色”、“绿色”、“紫色”、“红色”};
//构建适配器
ArrayAdapter适配器=新的ArrayAdapter(
此//活动的上下文
R.layout.list_项,//要使用的布局(创建)
myItems);//要显示的项目
//配置ListView
ListView列表=(ListView)findViewById(R.id.listViewMain);
list.setAdapter(适配器);
ViewPager myViewPager=(ViewPager)findViewById(R.id.ViewPager);
setAdapter(新的MyPagerAdapter(getSupportFragmentManager());
myViewPager.setCurrentItem(1,false);
}
私有类MyPagerAdapter扩展了FragmentPagerAdapter{
公共MyPagerAdapter(碎片管理器fm){
超级(fm);
}
@凌驾
公共片段getItem(int-pos){
开关(pos){
案例2:返回FirstFragment.newInstance(“FirstFragment,实例1”);
案例1:返回SecondFragment.newInstance(“SecondFragment,实例1”);
案例0:返回ThirdFragment.newInstance(“ThirdFragment,实例1”);
默认值:返回ThirdFragment.newInstance(“ThirdFragment,default”);
}
}
@凌驾
public int getCount(){
返回3;
}
{}}}
我试图添加一个列表视图,我创建了一个名为:list_items.xml的xml文件,但在这一行:“R.layout.list_items”,我得到一个错误:“layout无法解析或不是一个字段”,我还得到“token“R”上的语法错误,删除这个token”。为什么呢
list_items.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</TextView>
我相信您误解了ArrayAdapter的构造函数 基本上,您需要做的是将R.layout.list\u items更改为单元素布局,就像在android.R中一样
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,android.R.id.text1,值);
在这里,您可以看到第一个参数是context,第二个参数是single item layout,第三个(可选)是您希望字符串集合作为目标的文本视图的ID,最后一个参数是集合
您可以像以前一样使用自己的布局
如果您有任何问题,我很乐意回答,并在需要时提供一些代码。它在您的xml中显示错误。如果您只需要显示myItems字符串,也可以使用简单列表项
String[] myItems = {"Blue", "Green", "Purple", "Red"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, myItems);
String[]myItems={“蓝色”、“绿色”、“紫色”、“红色”};
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,myItems);
这是一个R
问题吗?你能检查一下标签[R]来确认吗?它是关于android中的R
ressource文件,而不是关于R语言。我取下了标签@asb很可能是XML文件中的r标记my bad:)错误,因此无法删除r文件generated@fisher3421还是同样的错误:/