我为我的活动设置了一个巨大的布局,我使用setContentView(). 在该布局中,我有一个TableLayout(tableLayout在我的活动中命名)要填充。该 TableLayout 的行是布局文件中的 customViews (我们称之为该文件tablerow_layout.xml)。在这个布局中,我有一些 TextViews 和 ImageView。我想要做的是在创建行时以编程方式更改 TextView 的内容。这是我的代码:
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View newRow = layoutInflater.inflate(R.layout.tablerow_layout, null, false);
TextView name = (TextView) newRow. findViewById(R.id.tablerow_name);
name.setText("THIS LINE");
tableLayout.addView(newRow);
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试更改 TextView 的内容时,我的应用程序崩溃了。我知道我可以使用 ListView 来做到这一点,但我通常只有少量行,并且为 ListView 创建另一个适配器的开销非常大。
作为 @???????K 建议我也尝试过 newRow.findViewById(...) 而不是 findViewById(...) 没有任何区别
我如何支持(制作算法)libgdx以支持多屏幕分辨率?我让我的应用程序在HTC Tattoo上使用if参数如下:
if (Gdx.input.getX()==40) {
Run Code Online (Sandbox Code Playgroud)
在大屏幕上进行此工作的好算法是什么?我尝试了这个,但没有任何结果:
publis static int translatex() {
float p = (float)Gdx.graphics.getHeight()*340;
return (int) p*Gdx.input.getX();
}
Run Code Online (Sandbox Code Playgroud)
340是我在HTC Tattoo上使用的基础x(我手机上的x分辨率).那么.....我怎么能用绝对值来支持大屏幕.我不想改变if语句.
我有3个类:MainActivity,DrawView和SecondActivity.MainActivity只是使用DrawView在屏幕上绘制一些东西.当我触摸Bitmap上的屏幕时,如何启动SecondActivity,我知道位图在哪里(在代码中).DrawView类的onTouchEvent函数.
@Override
public boolean onTouchEvent(final MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
float posX = ev.getX();
float posY = ev.getY();
if(play.touched(posX, posY)==true){
} else {
}
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
该函数play.touched(posX,posY)返回一个布尔值(我创建了一个类,它位于Bitmap的位置).我如何从这里开始第二活动?
我需要在libgdx for Android中的pause()和resume()函数中编写哪些代码?
@Override
public void create() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render() {
// TODO Auto-generated method stub
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
Run Code Online (Sandbox Code Playgroud)
}