2015-07-13 2 views
0

Здравствуйте, я хочу, чтобы мои методы работали мгновенно, когда пользователь входит в приложение. На данный момент у меня есть событие onClick в моем xml, которое активируется так, чтобы сказать мои методы (это работает).Android Java Происходит событие метода

XML-:

  <TextView 
      android:id="@+id/cd_start" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif-light" 
      android:gravity="center" 
      android:paddingBottom="0dp" 
      android:text="time" 
      android:textColor="#000" 
      android:textSize="21sp" 
      android:onClick="dateEnd"/> 

и главный Activity.java

String dateStopKukuk = "21 Dec 2015"; 

private void displayDateEnd(String etime) { 
    TextView priceTextView = (TextView) findViewById(R.id.cd_start); 
    priceTextView.setText(etime); 
} 

public void dateEnd(View v) { 
    displayDateEnd(dateStopKukuk); 
} 
+0

Override onCreate method. – krystian71115

ответ

0

Edit: я добавил комментарии, чтобы объяснить вам этот код.

Попробуйте это:

import android.app.Activity; 
import android.view.View; 
import android.widget.TextView; 
public class MainActivity extends Activity implements View.OnClickListener 
{ 

    // onClick method is called when one of view is clicked. (you must use setOnClickListener on this View to inform system to call this) 
    @Override 
    public void onClick(View v) 
    { 
     // check if clicked view is cd_start 
     if(v.getId() == R.id.cd_start) 
     { 
      // true cd_start is clicked 
      displayDateEnd(dateStopKukuk); 
     } 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); // REQUIRED!!! When you don't add this your app will be crash. 
     setContentView(R.layout.activity_main); // sets activity_main as layout (if you use different name of layout replace activity_name with your layout name) 
     findViewById(R.id.cd_start).setOnClickListener(this); // finds view with cd_start id and sets click listener. When this view is clicked system calls onClick method. 
     // and now your code what do you want to do when activity is creating. 
    } 

    String dateStopKukuk = "21 Dec 2015"; 

    private void displayDateEnd(String etime) { 
     TextView priceTextView = (TextView) findViewById(R.id.cd_start); 
     priceTextView.setText(etime); 
    } 

    /* You don't need dateEnd method now */ 
} 

XML:

 <TextView 
      android:id="@+id/cd_start" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fontFamily="sans-serif-light" 
      android:gravity="center" 
      android:paddingBottom="0dp" 
      android:text="time" 
      android:textColor="#000" 
      android:textSize="21sp" 
      /> <!-- You don't need android:onClick --> 

В вашей деятельности.

Я надеюсь, что это вам помогло.

+0

Не могли бы вы объяснить мне, что эта линия благодарит! –

+0

Так что я должен удалить onClick в моем xml? –

+0

@Mrx Нет, вам не нужно удалять onClick в xml. Вы должны переопределить метод onCreate. Этот метод вызывается только один раз при создании активности. Вы должны вызвать super.onCreate для работы приложения. И используйте setContentView для установки макета. Например: если ваш макет называется activity_main.xml, используйте это: 'setContentView (R.layout.activity_main);' Теперь я редактирую ответ. – krystian71115

Смежные вопросы