我是Eclipse和Java的新手,但在Visual Basic中有足够的经验。
我正在尝试创建一个基本的应用程序,并且我尝试生成一个随机数,用于在该数字位置放置一个按钮。我已经遵循了一些步骤但仍然卡住了,感谢任何帮助,谢谢。
我收到此错误:无法从TextView
类型对非静态方法setHeight(int)进行静态引用如果有人能向我解释如何解决这个问题,但更重要的是为什么我会这样做,所以我可以学习,谢谢!
package com.jordanreece.themetests;
import java.util.Random;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
public class Game extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
Random r0 = new Random();
int height = r0.nextInt(272 - 20) + 20;
Random r1 = new Random();
int width = r1.nextInt(110 - 20) + 20;
Button.setHeight(height);
Button.setWidth(width);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.game, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:0)
您使用的是哪种布局?你可能不得不使用像RelativeLayout或FrameLayout这样的东西,然后如果你试图将它放在屏幕上,则使用setX()和setY()。调整大小或定位它......您也需要设置按钮。
按钮myButton =(按钮)findViewById(R.id.the_id_you_assigned_to_your_button_in_the_layout);
答案 1 :(得分:-1)
您正在正确使用setHeight和setWidth方法。
Button.setHeight(int);
您需要先创建对象。
Button btn = new Button(this);
然后使用你新创建的对象
btn.setHeight(int)
btn.setWidth(int)
我建议您阅读static methods以了解有关static关键字的更多信息。