2010-08-27 78 views
0

我是一個完整的newb,什麼都不知道。我可能已經非常低效了,但這就是學習曲線。我正在製作一個Android應用程序,使用Eclipse來完成。在Android中需要一個簡單的概念幫助

該應用程序將有3個屏幕。在前兩個屏幕上是按鈕列表。用戶點擊適用於該情況的按鈕,然後該按鈕從該屏幕消失並出現在屏幕3上。屏幕2與屏幕1相同,但具有單獨的列表(選擇仍與屏幕3混合)。

我設置了一個屏幕,在我的strings.xml中輸入了很多很多的字符串(這是一個很長的列表)。我們假設這是一個購物清單計劃。字符串設置爲:

<string name="vc002">Bread</string> 
<string name="vc003">Butter</string> 

依此類推。佈局是這樣的:

<?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:text="@string/v001" 
    android:layout_gravity="center" 
    /> 
<Button 
android:id="@+id/vb01" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:layout_gravity="center" 
android:text="@string/vc001" 
/> 
<Button 
android:id="@+id/vb02" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:layout_gravity="center" 
android:text="@string/vc002" 
/> 

這是下面的活動,畫面1:

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 



public class VenialListActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     final Button vb01 = (Button)findViewById(R.id.vb01); 
     vb01.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v){ 
     vb01.setVisibility(View.INVISIBLE); 
     }; 
     ; 
     } 
    ); 
    }  
} 

現在我卡住了。該按鈕按預期消失,但我不知道如何使其出現在屏幕3上。同樣,我希望能夠點擊屏幕3上的一個按鈕(如果出現錯誤),並將其發送回家並製作它再次可見。

任何人都能幫助我?如果我違反了任何網站規則,或者如果我讓我的新人頭痛,我很抱歉。我不完全知道以上是在做什麼,我只是知道它的工作原理,所以我不應該打破它。這就像學習拉丁文或希臘文或德沃夏克打字一樣。這肯定會慢下來,我會犯更多的錯誤。無論如何,如果你已經做到了這一點,我感謝你的時間和耐心。 =)

+0

是否對所有屏幕使用相同的Class(VenialListActivity)? – Jorgesys 2010-08-27 16:51:06

+0

我沒有計劃,但如果不容易,我是爲了它。現在我計劃開展3項活動,每個屏幕一項。不知道你可以鞏固。 – 2010-08-27 17:30:02

+0

在學習基礎知識之前,您可能應該製作更簡單的應用程序。提出像「我該怎麼做」這樣的問題不是很好的SO問題。 – Falmarri 2010-08-27 20:35:46

回答

0

我絕對會推薦爲每個屏幕創建單獨的活動。雖然也有例外,但這正是Android應用程序設計的工作原理。

在您的按鈕的onClickListener(),而不是去掉(設置它的可視性View.INVISIBLE不會跨越活動依然存在,所以除非你明確地使用onSaveInstantState()onRestoreInstanceState()它也將是可見的處理,在您的應用程序,當用戶返回到此活動),您將希望將該詞保存在應用程序的首選項中,並開始下一個活動,無論是第2還是第3活動。

在這些活動中,您應該閱讀用戶通過首選項選擇的單詞並從中選擇。

這樣做有很多種方法,但是這種方法應該可以從我能收集的內容中爲你工作。

+0

感謝您的回覆。您是否有可能對如何實施您所談論的內容有更具體的瞭解?我想我可以在紙上看到你在說什麼,但不知道如何編寫代碼。我假設我保存的是變量,所以我不必保存整個數據(而只是變量)? – 2010-08-27 20:53:52