2017-12-02 13 views
0

私は2つのアクティビティ(実際には4つだけですが現在は2つの問題あり)、主なアクティビティとフォント変更アクティビティを持っています。メインアクティビティは、ユーザが入力したテキストをintentstartActivityForResultを使用してフォント変更アクティビティに送信します。フォント変更アクティビティ内で、ユーザーはテキストのフォントを期待どおりに変更できます。私がしようとしているのは、ユーザーがフォントを変更し、テキストと新しいフォントを主なアクティビティに送り返した後です。しかし、私はこれを行う方法がわかりません。私はbundleのようなものを使うことを考えていますが、私は立ち往生しています。誰かが私を助けることができれば、それは大変に感謝されるでしょうインテントにフォントを追加して別のアクティビティに送信

は、ここに私の(関連)主な活動コードがあります:これはTextViewにからfontActivityにあなたの文字列を取得します

public class Main4Activity extends AppCompatActivity 
{ 
    TextView user_font_text; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main4); 
     user_font_text = (TextView) findViewById(R.id.user_font_text); 
    } 

    public void boldText(View view) 
    { 
     Typeface custom_font = getResources().getFont(R.font.avenir_next_bold); 
     user_font_text.setTypeface(custom_font); 
    } 

    public void italicText(View view) 
    { 
     Typeface custom_font = getResources().getFont(R.font.avenir_next_italic); 
     user_font_text.setTypeface(custom_font); 
    } 

    public void regularText(View view) 
    { 
     Typeface custom_font = getResources().getFont(R.font.avenir_next_regular); 
     user_font_text.setTypeface(custom_font); 
    } 

    public void thinText(View view) 
    { 
     Typeface custom_font = getResources().getFont(R.font.avenir_next_thin); 
     user_font_text.setTypeface(custom_font); 
    } 

    public void OK(View view) 
    { 
     //The intent and/or bundle would go here but I don't know what to do 
    } 
} 
+1

フォントを渡す必要はなく、 'R.font.some_font'からIntegerを渡すだけです! – Xenolion

答えて

0
public void FontChange(View view) 
    { 
     temp = user_text.getText().toString(); 
     Intent fontIntent = new Intent(this, Main4Activity.class); 
     fontIntent.putExtra("Text", temp); 
     startActivityForResult(fontIntent, REQUEST_FONT); 
    } 

public class MainActivity extends AppCompatActivity 
{ 
    RelativeLayout move_group; 

    ImageView view; 
    String backgroundImageName; 
    SeekBar seekSize; 
    TextView user_text; 
    Button button; 

    SeekBar tiltChange; 

    String temp; 

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

     user_text = (TextView) findViewById(R.id.user_text); 

    static final int REQUEST_FONT = 4; 
    public void FontChange(View view) 
    { 
     Intent fontIntent = new Intent(this, Main4Activity.class); 
     fontIntent.putExtra("Text", temp); 
     startActivityForResult(fontIntent, REQUEST_FONT); 
    } 

    //There's supposed to be an accompanying onActivityResult method as well 
    //but i haven't figured that part out yet 

} 

ここに私の(関連)フォントアクティビティコードです。あなたのFontActivity

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main4); 
     Intent intent = getIntent(); 
     String text = intent.getStringExtra("temp"); 
     user_font_text = (TextView) findViewById(R.id.user_font_text); 
     user_font_text.setText(text); 
    } 

    public void OK(View view) 
    { 
      Intent returnIntent = new Intent(); 
       returnIntent.putExtra("result", 
        user_font_text.getText().toString()); 
       returnIntent.putExtra("font", 
        ypur_font_type); 
       setResult(Activity.RESULT_OK, returnIntent); 
    } 

で今

はSpannableStringBuilderを使用して行うことができるフォントスタイルを設定の一部を残り。ここでSpannableStringBuilderを確認できます。お役に立てれば。

+0

あなたの答えは疑わしいです、あなたはそのコードをテストしましたか? – Xenolion

関連する問題