2011-09-24 46 views
0

我有一个java文件,它的setContentView是另一个Java文件...的Android的Java添加一个TextView

这是第一个Java文件

package dalton.metzler.occupied; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.LinearLayout; 
import android.widget.TextView; 


public class PlayActivity extends Activity{ 

    Play ourView; 

    LinearLayout linear; 
    TextView text; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     ourView = new Play(this); 
     setContentView(ourView); 
    } 



} 

这里是多数民众赞成文件链接到它作为设置contentview没有你需要看只显示的特殊代码,所以你可以看到它是什么。

,看看到底是什么。我是指文本的东西我试图做

package dalton.metzler.occupied; 

import java.util.Random; 

import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.view.View; 


    public class Play extends View { 

    Bitmap gBall1, gBall2, gBall3, gBall4, gBall5, gBall6, gBall7, gBall8, gBall9, gBall10, gBall11, gBall12, gBall13; 

    float changingY, changingY2, changingY3, changingY4, changingY5, changingY6, changingY7, changingY8, changingY9, changingY10, changingY11, changingY12, changingY13; 


    public Play(Context context) { 
     super(context); 


     gBall1 = BitmapFactory.decodeResource(getResources(), R.drawable.mantrans); 
     gBall2 = BitmapFactory.decodeResource(getResources(), R.drawable.womentrans); 
     gBall3 = BitmapFactory.decodeResource(getResources(), R.drawable.mantrans); 
     gBall4 = BitmapFactory.decodeResource(getResources(), R.drawable.mantrans); 
     changingY = 0; 
     changingY2 = -110; 
     changingY3 = -220; 
     changingY4 = -330; 
     changingY5 = -440; 
     changingY6 = -550; 
     changingY7 = -660; 
     changingY8 = -770; 
     changingY9 = -880; 
     changingY10 = -990; 
     changingY11 = -1100; 
     changingY12 = -1210; 
     changingY13 = -1320; 

    } 

    protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawColor(Color.WHITE); 
    canvas.drawBitmap(gBall1, (canvas.getWidth()/2), changingY, null); 
    canvas.drawBitmap(gBall2, (canvas.getWidth()/2), changingY2, null); 
    canvas.drawBitmap(gBall3, (canvas.getWidth()/2), changingY3, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY4, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY5, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY6, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY7, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY8, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY9, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY10, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY11, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY12, null); 
    canvas.drawBitmap(gBall4, (canvas.getWidth()/2), changingY13, null); 
    if (changingY < canvas.getHeight()){ 
     changingY += 5; 

    }else{ 
     changingY = -600; 
    } 
    if (changingY2 < canvas.getHeight()){ 
     changingY2 += 5; 

    }else{ 
     changingY2 = -600; 
    } 
    if (changingY3 < canvas.getHeight()){ 
     changingY3 += 5; 

    }else{ 
     changingY3 = -600; 
    } 
    if (changingY4 < canvas.getHeight()){ 
     changingY4 += 5; 

    }else{ 
     changingY4 = -600; 
    } 
    if (changingY5 < canvas.getHeight()){ 
     changingY5 += 5; 

    }else{ 
     changingY5 = -600; 
    } 
    if (changingY6 < canvas.getHeight()){ 
     changingY6 += 5; 

    }else{ 
     changingY6 = -600; 
    } 
    if (changingY7 < canvas.getHeight()){ 
     changingY7 += 5; 

    }else{ 
     changingY7 = -600; 
    } 
    if (changingY8 < canvas.getHeight()){ 
     changingY8 += 5; 

    }else{ 
     changingY8 = -600; 
    } 
    if (changingY9 < canvas.getHeight()){ 
     changingY9 += 5; 

    }else{ 
     changingY9 = -600; 
    } 
    if (changingY10 < canvas.getHeight()){ 
     changingY10 += 5; 

    }else{ 
     changingY10 = -600; 
    } 
    if (changingY11 < canvas.getHeight()){ 
     changingY11 += 5; 

    }else{ 
     changingY11 = -600; 
    } 
    if (changingY12 < canvas.getHeight()){ 
     changingY12 += 5; 

    }else{ 
     changingY12 = -600; 
    } 
    if (changingY13 < canvas.getHeight()){ 
     changingY13 += 5; 

    }else{ 
     changingY13 = -600; 
    } 
    invalidate(); 
    }  
} 

我如何添加文本应用程序?像一个textview,但不是在XML中,因为我不能这样做(我认为) 我想添加像文本:得分:0到屏幕

+0

您应该使用数组而不是维护长变量列表。这种方法允许您使用for循环来操作数组中的所有元素。 – Merlin

+0

我该如何做到这一点? –

+0

你需要学习编程的基础知识。有一个很好的[数组教程](http://mobile.tutsplus.com/tutorials/android/java-arrays/)一个tutsplus。你应该加快阅读所有的章节,以便你知道什么是可能的,然后在你的程序中使用它的时候研究每一章。了解正确的技术将帮助您编写高效简洁的代码。祝你好运,) – Merlin

回答

0

现在你不能添加另一个视图到你的自定义视图为它扩展了View类。您需要扩展viewgroup类以添加其他视图。

创建线性布局并添加播放视图和文本视图,并在setContentView函数中设置线性布局。

如果你只是需要在playview上绘制文本,那就是canvas.drawText函数。

我认为你的drawText方法是错误的。尝试这个。

Paint orangePaint = new Paint(); 
    orangePaint.setColor(Color.BLACK); 

    canvas.drawText("test", 50, 50, orangePaint); 

这应该有效。

+0

嗨,我做了这个canvas.drawText(“test”,50,50,Color.BLACK,0,null);在我的保护无效onDraw(帆布画布){方法和我有一个力量关闭 –

+0

更新你的问题与堆栈跟踪。让我们看看最新的错误。 – blessenm

+0

堆栈跟踪是什么? –

相关问题