2017-02-05 26 views
-1

私は基本的に2つのレイアウトしか持たない非常にシンプルなアプリケーションを作成しています。同じプロジェクトで新しいスクリーン/アクティビティを作成したい場合は、最初に新しいレイアウトを作成しなければならないことがわかりました。今ではアクティビティを作成する必要があります。マニフェストに何かをするが、私はそれが何であるか分からない。私はいくつかのyoutubeの動画を見ているが、もし私が私の新しい活動をデフォルトのものにしたいのであれば、何かを変えるという事実がわからない。レイアウトを適切に切り替えるにはどうすればよいですか?

あなたが添付の写真で見ることができるように、私がプロジェクトを作成したときに持っていた最初のレイアウトは「activity_questions」でした。今、私は "noquestions_layout"であるアプリの新しい画面/レイアウトを作成したいと思います。しかし、私は自分のメイン画面/アクティビティをユーザに作成した新しいレイアウトを作成し、私の「activity_questions」はデータベースがアプリに情報を提供するたびにポップアップするレイアウトにしたい。

どうすればこのことができますか?私はこれがあなたが一度学ぶ必要があることの一つであることを知っています...そしてこれは非常に簡単に聞こえるかもしれません、そして、私は何か初心者であるなら謝ります。私は基本的にあまりにも前にアンドロイドスタジオを学び始めた。

あなたは...私が私のアプリに置くために必要なすべてのコードを、指針にはいくつかの基本的な例を教えてくれ「ここでYを作成し、そこにXを置く」

First layout/activity

する必要はありません。

New Wanted layout/activity

+2

Androidデベロッパーサイトの「First App」ドキュメントをお読みください。これは、あなたが今質問したすべてのものを網羅しています –

答えて

0

まずようにそこに貼り付けとしての活性例.SecondActivity。最初のアクティビティについて

、マニフェストにこのコードを配置:第二活性について

<activity android:name=".Activity_A"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

、このコードを使用する:ここ

<activity android:name=".SecondActivity "> 
</activity> 

を、アプリケーションの起動時に起動するアクティビティでありますActivity_Aのマニフェストのインテントフィルタのために、Activity_Aが発生しました:

<intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

N OW、Activity_Aはこのコードを使用し、Activity_AからActivity_Bを起動する、とすぐにアプリが起動されるように開始された場合、あなたはすでにレイアウトの準備ができて、あなたの活動をしておりますので:

Intent intentTour = new Intent(Activity_A.this, Activity_B.class); 
intentTour.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); //This line is optional, better to use it because it won't create multiple instances of the launching Activity. 
startActivity(intentTour); 
+0

ありがとう!今私はなぜそれが起こっているのか、それを行う方法を得る、これは私が最初に望んでいたものです。私はそれを感謝しますあなたの最後のコメントのために、データベースがアプリにいくつかの情報を送るたびにActivity_Bにしたいと思ったら、私は何をする必要がありますか? –

+0

データベースがアプリに情報を送信するたびにActivity_Bを起動したいのですか? –

+0

正直、申し訳ありませんが、私のインターネットが乱雑です。基本的にGoogleの報酬アプリのようなもの。 - 私のデータベースはアプリにいくつかの質問をしてくれるので、質問を受け取ったときにいつでもActivity_Bをその質問と共に起動したい。私はすでにデータベース(MySQL)とそれからデータを取得するためのスクリプトを完成させました(PHPスクリプト) –

1

新しい画面レイアウトの場合は、新しいアクティビティを作成し、そのレイアウトファイルを呼び出します。アプリの起動時に

は、あなたがマニフェストに行かなければならない、あなたが最初に起動したいアクティビティにインテントフィルタのタグを貼り付けカットし、あなたの最初の活動として、あらゆる活動を行うには

<activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

あなたは別のものを作りたいとしインテントフィルタタグ上に切断活性を開始し、2つのアクティビティ、たとえばActivity_AとActivity_Bを作成し、この

<activity android:name=".SecondActivity "> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
<activity android:name=".MainActivity "> 

     </activity> 
+0

これは、1つのアクティビティから他のアクティビティに移動する方法にはあまり答えていません。 –

+0

彼はまた、アプリケーションでアクティビティ開始アクティビティを作成するときにマニフェストと何をするのか混乱しました。それはその答えでした。 – user1111

0

あなたは、Androidで新しいアクティビティを作成する場合Studio、Studioは、対応するリソースファイルを作成するだけでなく、アクティビティのエントリをマニフェストします。

たとえば、あなたは2つのアクティビティQuestionActivityとNoQuestionsActivityを持っています。QuestionsActivityがデフォルトの起動アクティビティになります。 NoQuestionsActivityをあなたの活動に活かす。マニフェストファイルを開き、NoQuestionsActivityのアクティビティタグの下にインテントフィルタを含み、別のアクティビティから切り替えるに

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".QuestionsActivity"></activity> 
    <activity android:name=".NoQuestionsActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

からインテントフィルタを削除し、次の意図を使用QuestionsActivityにNoQuestionsActivityから言うコード -

Intent questionsIntent = new Intent(NoQuestionsActivity.this, QuestionsActivity.class); 
startActivity(questionsIntent); 

QuestionActivityに値を渡す場合は、それをintnetの補足として渡します。

希望すると、これが役立ちます。

関連する問題