2011-08-09 85 views
0

首先,我是新来的Android编程,所以我的编码水平不是太高:p 我有一组卡片类,我想返回值的卡片绘制成文本视图。ANDROID:点击按钮改变TextView

cardValue = "The " + numString + " of " + suitString; 
    return cardValue; 

这是我的甲板类中方法drawCard的结束。 在我virtualDeck班,我创造了这个类的一个实例,

final textdeck deck = new textdeck(); 
     String value = deck.drawCard(); 

我想要做的是建立在virtualDeck类的按钮时,一旦点击运行从textDeck类的drawcard方法,并将结果返回到textView。每次单击该按钮时,都将textView更改为打印新值。

我似乎很想知道如何做到这一点。 任何帮助,非常感谢。 干杯。

+0

你能更具体吗?您在创建按钮,设置新文本还是两者时遇到困难?你试过什么了? –

+0

目前在我的应用程序中,所有我需要的按钮是链接到其他页面,所以创建一个按钮来运行一个方法,我试过 ImageButton DrawCard =(ImageButton)findViewById(R.id.drawcard);DrawCard.setOnClickListener(new android.widget.Button.OnClickListener(){ public void onClick(View v){ deck。的drawcard(); }}); 它主要从一个Java类获取返回语句到另一个活动类文本视图,我不确定如何做。 让我知道如何在需要的时候希望我更具体。 :) – WirelessToy

回答

0

我希望如何建立一个TextView帮助这个例子:

在你的main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/card"/> 
</LinearLayout> 

在信号源(TextViewExample.java)

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


public class TextViewExample extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     //Do all your deck setup here 
     String value = "8 of Spades"; 

     //New textView 
     TextView cardDisplay = (TextView)findViewById(R.id.card); 

     //Update Text 
     cardDisplay.setText(value); 

    } 
} 
+0

'findControlById(R.id.card)'可能会返回null,因此您必须检查'if(cardDisplay!= null){...}'以避免应用程序崩溃。 – Im0rtality

+0

你的意思是findViewById? cardDisplay永远不会为null,因为它在main.xml文件中声明,并且它的int在自动生成的R.Java文件中可用。我不确定我明白。 –

+0

我一开始就这么认为,但那是我崩溃的原因。有清除和重建项目。 – Im0rtality

0

我不不太明白你想做什么,但这是你如何通过按钮改变视图:

Button nextButton =(Button)findViewById(R.id.next); 
    nextButton.setOnClickListener(this); 

下一步是在当前布局中创建的按钮。 然后在onclick监听器:

Intent intent = new Intent(this,SecondIntent.class);         
    startActivity(intent); 
    finish(); 

和SecondIntent是你所呼叫的第二类的名称。该类可以有自己的视图,因为它可以调用setContentView()。

的唯一的事情是要确保你打开AndroidManifest.xml中并添加标签

<activity android:name=".SecondIntent" android:label="@string/app_name"> </activity>

并称,该清单将让机器人知道其他活动存在以下。

现在,如果您想打开第二个视图,并且能够关闭第二个视图以返回到第一个视图,则只需将finish()添加到第二个活动,而不是第一个。

祝你好运! -A Fellow Android Noob