0

いくつかのTextViewsとEditText Preferenceを持つレイアウトからなる設定画面を作成しようとしています。Preference画面でTextViewが上書きされるのではなく、オーバーラップします

アクティビティでtextView.setText(inputString)を使用すると、既存のTextViewを上書きせず、代わりにinputStringをTextViewの新しいコピーとして作成し、既存のTextViewと重複します。 setTextが既存のTextView自体を上書きする方法はありますか?

これはTextViewに

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:background="@color/blue" 
    android:layout_height="match_parent"> 
    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@android:id/list" 
     ></ListView> 
    <TextView 
     android:text="TextView" 
     android:layout_width="wrap_content" 
     android:textColor="@color/pseudoBlack" 
     android:layout_height="wrap_content" 
     android:layout_marginStart="59dp" 
     android:layout_marginTop="100dp" 
     android:id="@+id/textView2" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:text="TextView" 
     android:textColor="@color/pseudoBlack" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView5" 
     android:layout_alignBaseline="@+id/textView2" 
     android:layout_alignBottom="@+id/textView2" 
     android:layout_toEndOf="@+id/textView2" 
     android:layout_marginStart="100dp" /> 

    <TextView 
     android:text="TextView" 
     android:textColor="@color/pseudoBlack" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="43dp" 
     android:id="@+id/textView11" 
     android:layout_below="@+id/textView2" 
     android:layout_toEndOf="@+id/textView2" 
     android:layout_marginStart="21dp" /> 
</RelativeLayout> 

とXMLレイアウトであり、これは私が使用してい選好画面です。

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" 

    > 
    <Preference android:layout="@layout/inner" android:key="innerkey" 
     /> 
    <Preference android:key="mskey" 

     android:title="show" 
     /> 
    <EditTextPreference android:key="editpref" 
     android:title="Add" 
     /> 

</PreferenceScreen> 

これは、setText()を実行しようとしているアクティビティクラスです。

package com.example.asus.layoutcheck; 

import android.os.Bundle; 
import android.preference.Preference; 
import android.preference.PreferenceActivity; 
import android.widget.TextView; 

public class SecondaryActivity extends PreferenceActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.inner); 
     TextView txt1 = (TextView)findViewById(R.id.textView2); 
     TextView txt2 = (TextView)findViewById(R.id.textView5); 
     TextView txt3 = (TextView)findViewById(R.id.textView11); 

     txt1.setText("First Text"); 
     txt2.setText("Second Text"); 
     txt3.setText("Third Text"); 

     final String message = "This is the message" ; 
     addPreferencesFromResource(R.xml.pref); 
     final Preference msg = findPreference("mskey"); 
     msg.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
      @Override 
      public boolean onPreferenceClick(Preference preference) { 

       msg.setSummary(message); 
       return true; 
      } 
     }); 
     Preference edit = findPreference("editpref"); 

    } 
} 

結果のスクリーンショットを追加しました。 enter image description here

は、どのように私はこの問題を克服することができます?ありがとうを事前

答えて

0

にそれは動作しませんでしたaddPreferencesFromResource(//your preferenceScreen);

+0

setContentView(R.layout.inner);を交換してください。私がsetContentViewを置き換えると、アプリケーションは動作しなくなります。 – user6739649

関連する問題