comment définir les options de visibilité de android.widget de.textview
FC avait des problèmes avec cette
private TextView msg, NameOut, DateOut;
msg = (TextView) findViewById(R.id.txtviewOut) ;
en bas de la ligne... (problème réside ici)
msg.setVisibility(View.INVISIBLE);//set visibility to false on create
comment puis-je définir la visibilité de cette TextView (msg) à false lorsque l'application démarre?
Mise à JOUR APRÈS #1 Réponse EDIT
bon voici le code:
fragment_main.xml
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity$PlaceholderFragment">
<EditText
android:id="@+id/textenter"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_below="@+id/lbledt1"
android:layout_alignParentLeft="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter Name"
android:id="@+id/lbledt1"
android:layout_marginTop="26dp"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter your date of birth (e.g. xx July 19xx)"
android:id="@+id/textView"
android:layout_below="@+id/textenter"
android:layout_centerHorizontal="true"
android:layout_marginTop="57dp" />
<EditText
android:id="@+id/editText"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press this button"
android:id="@+id/button"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="You have been awesome since"
android:id="@+id/txtviewOut"
android:layout_marginTop="86dp"
android:textIsSelectable="false"
android:layout_below="@+id/button"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/txtoutName"
android:textIsSelectable="false"
android:layout_alignBottom="@+id/txtviewOut"
android:layout_centerHorizontal="true"
android:layout_marginBottom="41dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/txtOutDate"
android:layout_marginTop="28dp"
android:textIsSelectable="false"
android:layout_below="@+id/txtviewOut"
android:layout_centerHorizontal="true" />
MainActivity.java:
package com.example.helloandroidstudio;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private Button btnClick;
private EditText Name, Date;
private TextView msg, NameOut, DateOut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnClick = (Button) findViewById(R.id.button) ;
Name = (EditText) findViewById(R.id.textenter) ;
Date = (EditText) findViewById(R.id.editText) ;
msg = (TextView) findViewById(R.id.txtviewOut) ;
NameOut = (TextView) findViewById(R.id.txtoutName) ;
DateOut = (TextView) findViewById(R.id.txtOutDate) ;
// msg.setVisibility(View.GONE);//set visibility to false on create
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}
}
public void onClick(View v)
{
if (v == btnClick)
{
if (Name.equals("") == false && Date.equals("") == false)
{
NameOut = Name;
DateOut = Date;
msg.setVisibility(View.VISIBLE);
}
else
{
msg.setText("Please complete both fields");
msg.setVisibility(View.VISIBLE);
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//Handle action bar item clicks here. The action bar will
//automatically handle clicks on the Home/Up button, so long
//as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case R.id.action_settings:
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}
}
Je l'ai essayé avec setInvisibility(point de Vue.DISPARU), mais encore le FC
J'ai vérifier avec les valeurs d'id, il isa la valeur de l'aide assisgned et j'ai fait faire le transtypage de l'objet...
veuillez garder à l'esprit, je l'ai fait en c#, mais c'est mon premier java/android app, de sorte s'il vous plaît garder avec moi
il doit travailler, ou vous êtes de trouver un autre point de vue avec d'autres resId , mettre à la Disposition de code xml . vous pouvez modifier la visibilité de l'INVISIBLE ou ALLÉ pour masquer le TextView
Post LogCat Erreur s'il vous plaît.
Caisse android exemple pour TextView setVisibility
Post LogCat Erreur s'il vous plaît.
Caisse android exemple pour TextView setVisibility
if (Name.equals("") == false && Date.equals("") == false)
Changement de if (Name.getText().equals("") == false && Date.getText().equals("") == false)
OriginalL'auteur | 2013-11-22
Vous devez vous connecter pour publier un commentaire.
eh bien, j'ai un doute exactement ce que vous voulez accomplir , mais je voudrais essayer de dégager un concept
OriginalL'auteur Mehroz Munir
Définir comme valeur par défaut dans votre mise en page.
Mise à JOUR:
Si vous avez toujours besoin de commencer invisible, c'est le chemin à parcourir. À noter que "l'invisible" signifie qu'il n'est pas affiché, mais il faudra encore du vide de l'espace lors du rendu. Si vous voulez qu'il soit, s'est effondré (ne prennent pas de place, ne pas afficher), puis utilisez
View.GONE
dans le code ouandroid:visibility="gone"
dans vos mises en page.Si l'appel de setVisibility sur une Vue provoque une FC, qui est plus susceptible d'être une exception de pointeur null (à vérifier dans le LogCat bien sûr). Si c'est le cas, vous n'avez pas appelé findViewById encore ou votre mise en page ne contient pas le point de vue par id.
Mise à JOUR #2:
Tout d'abord, vous devriez toujours regarder LogCat et obtenir exactement l'exception est levée et la ligne exacte, il est jeté. Je suis prêt à parier qu'il se passe sur cette ligne:
Vous tentez de définir une variable de type TextView à une valeur de type EditText. Ce que je suppose que vous essayez de faire est de mettre le texte de votre TextView à la valeur du texte dans votre EditText. Cela se fait comme suit:
msg.setVisibility(View.VISIBLE); Null vérifier si vous avez de la force se ferme lors de l'exécution de ce code. La seule raison pour laquelle cela devrait planter serait que vous avez accès quand c'est pas dans la mise en page ou vous n'avez pas résolu encore.
La réponse a été mis à jour
bon, j'ai posté le code, ce do u pense que peut provoquer l'erreur
OriginalL'auteur Rich
Vous avez mis en place un
méthode, mais n'a pas de fil avec votre Bouton dans la mise en page.
Définir la propriété
android:onClick="onClick"
dans votre mise en page fichier xml.Dès maintenant, cliquez sur votre bouton n'est pas enregistré et la méthode n'est pas exécuté
OriginalL'auteur Harsh Singal