2016-04-09 2 views
-2

Я пишу приложение, в котором будет отображаться меню соков в магазине vape. У меня есть главный экран, который отображает имя и кнопку, которая когда-то щелкнула, отправит пользователя на новый экран, отображающий меню. У меня возникли проблемы с настройкой кнопки, и когда я запустил приложение, он сработает после нажатия кнопкипопытка нескольких действий с помощью нажатия кнопки

любой вход будет оценен!

MainActivity

package com.example.vitoriano_vaz.easybayvapes; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.view.View; 




public class MainActivity extends AppCompatActivity { 

    public void sendMessage(View view){ 
     Intent intent = new Intent(FromActivity.this, ToActivity.class); 
     startActivity(intent); 
    } 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void startJuiceMenu(View view) { 
     Log.d("MyApp", "button clicked"); 


    } 
} 

Вторая деятельность после того, как нажата кнопка

package com.example.vitoriano_vaz.easybayvapes; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 

import java.util.ArrayList; 

public class juiceMenu extends AppCompatActivity { 
    ArrayList<String> juiceMenu = new ArrayList<String>(50); 

    private static String VALUE = "myValue"; 

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

     juiceMenu.add("#1 Blueberry Bombshell"); 
     juiceMenu.add("#2 Richie Rich"); 
     juiceMenu.add("#3 Chiquita"); 
     juiceMenu.add("#4 Afternoon Delight"); 
     juiceMenu.add("#5 Poppin Otters"); 
     juiceMenu.add("#6 Viva La Sangria"); 
     juiceMenu.add("#7 Okole Maluna"); 
     juiceMenu.add("#8 Carmen Miranda"); 
     juiceMenu.add("#9 Pomalade"); 
     juiceMenu.add("#10 Izual"); 
     juiceMenu.add("#11 Butter Stotch "); 
     juiceMenu.add("#12 Blue Bulls"); 
     juiceMenu.add("#13 Grape Ape"); 
     juiceMenu.add("#14 Bruce Juice"); 
     juiceMenu.add("#15 Doc Holiday"); 
     juiceMenu.add("#16 Peachy Keen"); 
     juiceMenu.add("#17 Hula"); 
     juiceMenu.add("#18 New York"); 
     juiceMenu.add("#19 Al Gore"); 
     juiceMenu.add("#20 Lux Charms"); 
     juiceMenu.add("#21 Sailor jack"); 
     juiceMenu.add("#22 Get Him to the Greek"); 
     juiceMenu.add("#23 Key We Lie Chi"); 
     juiceMenu.add("#24 Spring Fling"); 
     juiceMenu.add("#25 Gumby"); 
     juiceMenu.add("#26 Chai-Milk"); 
     juiceMenu.add("#27 Mr. Bean"); 
     juiceMenu.add("#28 50 Shades of Orange"); 
     juiceMenu.add("#29 Blue Waffles"); 
     juiceMenu.add("#30 Enigma"); 
     juiceMenu.add("#31 Mr. Freeze"); 
     //juiceMenu.add("#32 New Flavor"); need to update to get newest flavor 



    } 


} 

Activity_main

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.vitoriano_vaz.easybayvapes.MainActivity" 
    android:id="@+id/main_view"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:text="Welcome to East Bay Vapes" 
     android:textAllCaps="true" 
     android:textColor="#000000" 
     android:textSize="20sp" 
     android:id="@+id/textView" /> 
    <Button 
     android:id="@+id/juicemenu" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:onClick="sendMessage" 
     android:text="@string/JuiceMenu" 
     android:layout_marginTop="42dp" 
     android:layout_alignParentTop="true" /> 


</RelativeLayout> 

Activity_juice_menu здесь у меня есть LinearLayout для ArrayList я объявленный в juicemenu.java классе

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.vitoriano_vaz.easybayvapes.juiceMenu"> 

    <ListView 
     android:id="@+id/JuiceMenu" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 

     > 

    </ListView> 


</LinearLayout> 

AndroidManifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.vitoriano_vaz.easybayvapes"> 

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

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

</ 

ответ

0

Intent, что вы строите необходимо ссылаться на собственные Activity классов , Первый параметр - Context, а второй - ClassActivity, который вы хотите запустить, поэтому он должен быть следующим.

Intent intent = new Intent(this, juiceMenu.class); 
+0

спасибо, что в конечном итоге работает! Теперь мне просто нужно заполнить свой Activity_juice_menu.xml данными в моем ArrayList – CosmoVitoriano

+0

Отлично. Я собирался добавить комментарий, что вам также нужен вызов 'setContentView (R.layout.activity_juice_menu') в' juiceMenu.onCreate() ', поэтому он знает, какой макет отображать, но выглядит так, как будто вы заметили, что уже , –

+0

, поэтому, как только я добавлю вызов setContentView в свой Activity_juice_menu, как бы я начал заполнять второе действие в формате списка – CosmoVitoriano

0

Поскольку ваш вопрос уже был дан ответ, я думал, что я хотел бы предложить более эффективные способы заполнения вашего массива, чтобы удалить это пятно из вашего кода. Например, вы можете использовать ресурс строкового массива. При этом вы просто добавляете значения, используя одну строку кода. В качестве примера:

String [] juiceArray = getResources(). GetStringArray (R.array.JuiceTextArray);

Массив сами значения заполняются в файле arrays.xml (находится в папке значения), как, например:

<resources 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:ignore="MissingTranslation"> 

    <string-array name="JuiceTextArray" tools:ignore="MissingTranslation"> 
     <item name="Juice1">#1 Blueberry Bombshell.</item> 
     <item name="Juice2">#2 Richie Rich.</item> 
     [etc., etc.] 
    </string-array> 
</resources> 
Смежные вопросы