我只是想知道.有没有办法使用for循环创建一个id
我在xml中有10个按钮.有ID是button1,button2,button3... button10 现在,我创建按钮的数组中java class,并像这样做
public class Menu extends Activity
{
Button[] arrayButton=new Button[10];
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
init();
}
private void init()
{
for(int i=1 ; i<9 ; i++)
{
String abc = "but"+String.valueof(i);
int x = Integer.parseInt(abc);
Log.d("abc", abc);
Log.d("x", String.valueOf(x) );
//arrayButton[i] = (Button) findViewById(R.id.x); // giving error
//arrayButton[i].setText("Hello:");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道我该怎么做这种工作.使用for循环获取所有按钮可以使我的工作更快,有时我想设置所有按钮的文本.
android view r.java-file android-resources android-identifiers
我正在尝试手动实现按下操作栏上的向上按钮时必须执行的操作,但出于某种原因,当我按下它时没有任何反应.
这是我的代码:
public class ActivityOne extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_one);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Button button = (Button)findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityTwo();
}
});
Button button2 = (Button)findViewById(R.id.btn2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityThree();
}
});
}
void openActivityTwo(){
Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);
}
void openActivityThree(){
Intent intent = new Intent(this, ActivityThree.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) …Run Code Online (Sandbox Code Playgroud) 我创建了一个新的xml文件,并且有错误?在其中阻止了R.java的再生.我尝试清理项目,修复项目属性,但没有运气.
然后我意识到XML正在通过重新创建自己来创建R.java,所以我删除了XML文件并且R.java又回来了.
但是现在,我收到了对R.的所有调用的错误.电话说:
所以,比如我有
setContentView(R.layout.detectlayout);
Run Code Online (Sandbox Code Playgroud)
错误:无法解析detectlayout或不是字段
我打电话给'R.'.有任何想法吗?
我已经尝试了所有的建议已经没有运气= /
我刚刚将Android SDK更新到22.0版(好吧,更像是全新安装)并在Eclipse中启动了一个新项目.我经历了项目向导,一切都很顺利但后来我意识到它没有生成构建文件(BuildConfig.java和R.java都没有).
我搜索了一下,发现其他人有类似的问题,有人指出更新后的新软件包应该是名为Android Build Tools的.我也安装了它们,之后生成了BuildConfig.java,但我仍然没有R.java.
有些人建议清理项目,编辑清单文件并手动添加一个R.java文件,这样它将恢复为生成的文件,但这些文件都不起作用,尽管在我编辑文件时它在IDE控制台中显示了一条警告消息但是它实际上并没有做任何事情
我已经通过 Stack Overflow 进行了搜索,因为我知道这是一个常见问题,但似乎没有一个解决方案适合我。这包括清理我的项目、删除所有导入、删除项目并完全重新开始。
我正在使用 Eclipse 专门用于 mac 上的 android(ADT 捆绑包 mac)。
每当我创建一个新项目时,我的 src 文件夹中的 setContentView(R.layout.activity_main); 行上都会立即出现错误
以及充气时。
除了上述之外还有什么建议吗?这实际上是在我完成任何编程之前,所以无法理解出了什么问题。
编辑:已修复。第二次下载了 SDK,这似乎已经解决了这个问题。
我突然得到"R无法解决变量"的错误.我在这个问题上阅读了另一个帖子,它说要更新android构建工具以使错误消失,但这并没有解决它.但由于某种原因,当我构建项目时,错误消失了.
这里发生了什么?
Android Studio 2.1,Java V8 Update 91,Gradle 2.1.0.
我知道这里已经多次提出这个问题,但没有一个推荐解决方案可行.
在编译完成后准备在Emulator上运行时,我的IDE会在R.id属性上给出错误.即使我不对文件进行任何更改,每个Java文件也会突然出现相同的错误.
我试图创建一个新项目,看看事情是否不同但错误仍在继续.在我看来,这可能是内部错误.即使我刚刚更新我的IDE.
Java文件;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_science);
list_View = (ListView) findViewById(R.id.maintable);
String[] Days = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"};
dayList.addAll(Arrays.asList(Days));
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dayList);
list_View.setAdapter(adapter);
NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this);
if (nfc.isEnabled()) {
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dayList);
Toast.makeText(this, "NFC turned ON", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(this, "Please turn On NFC", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
这R是错误.
与Java关联的XML文件;
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/maintable" …Run Code Online (Sandbox Code Playgroud) 以下源代码应制作图片并在屏幕上显示.但我得到一些错误.Cannot resolve symbol 'activity_fullscreen',同样为imageView1,dummy_button,fullscreen_content和fullscreen_content_controls.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fullscreen);
mVisible = true;
mControlsView = findViewById(R.id.fullscreen_content_controls);
mContentView = findViewById(R.id.fullscreen_content);
// Set up the user interaction to manually show or hide the system UI.
mContentView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
toggle();
}
});
// Upon interacting with UI controls, delay any scheduled hide()
// operations to prevent the jarring behavior of controls going away
// while interacting …Run Code Online (Sandbox Code Playgroud) 我正在创建一个Android应用程序,当更改一些代码并运行它时,我被告知应用程序的R.Java文件中存在错误.我不知道这个错误来自哪里,我似乎无法修改它.
R.Java里面的代码是
public final class R {
public static final class array {
public static final int races_array=0x7f040000;
}
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
public static final int logo=0x7f020001;
}
public static final class id {
public static final int 1=0x7f060007;//this line has the error
public static final int BMI=0x7f06001f;
public static final int Cdate=0x7f060005;
public static final int Current=0x7f060006;
public static final int Days=0x7f06001e;
public static …Run Code Online (Sandbox Code Playgroud) 我是android编程的新手.我正在从Commsware教程做教程,准确的T3教程,在此期间我清理了项目.之后,R类文件已停止生成.
我删除了该项目,看起来同样的错误正在传播到我正在创建的其他新项目.
此错误也将出现在新创建的项目中.
我尝试了stackoverflow中的所有解决方案,如:清理项目,在构建路径中选择android版本,删除我的工作区,新安装eclipse等.
另一个令人生畏的事情是我的res文件夹没有显示任何错误,我的xml文件不包含任何大写字母.
它必定是一些愚蠢的错误导致了这个?