如果我在布局中有一个EditText而在另一个布局中有Text视图,我的代码会将EditText中的那个放到另一个布局中并将其放在textView中。
TextView的格式与EditText的格式不同,如font-size和font-family ..我希望我的代码也将格式转换为另一种布局并将其应用于另一种布局中存在的textview
所以更具体一点:我在第一个布局中写了一些内容并改变了它的字体大小...这个EditText将是第二个布局中的textView,但没有保存EditText的格式..我希望textView与EditText的格式相同..
我能这样做吗?以及如何?spinner = (Spinner)findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, items);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
int position = spinner.getSelectedItemPosition();
int fontSizeInt;
try
{
fontSizeInt = Integer.parseInt(items[position]);
}
catch (NumberFormatException e)
{
fontSizeInt = 12; // Default size.
}
et.setTextSize(TypedValue.COMPLEX_UNIT_SP, (float) fontSizeInt);
// TODO Auto-generated method stub
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
);
这是我的触控倾听者 public void addListenerOnImageg1(){
final Context context = this;
imageView = (ImageView) findViewById(R.id.g1);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent1 = new Intent(context , g1.class);
intent1.putExtra("fname" , et.getText().toString());
intent1.putExtra("font_size", fontSizeInt);
startActivity(intent1);
}
}); }
我应该在第二个布局中写什么?
答案 0 :(得分:0)
由于您允许用户更改EditText
中文字的格式,请保留这些更改,将其作为Intent
的更多内容,并在其他活动中阅读其他内容。< / p>
你应该只有一个Intent
和一个startActivity()
来电,除非你真的想开始两项活动,我怀疑。
我从这段代码中看不到格式数据的位置,但如果您的字体大小存储在int fontSize
中,请致电:
intent.putExtra("font_size", fontSize);
在其他活动中,请致电:
int receivedFontSize = intent.getIntExtra("font_size", defaultFontSize);
作为defaultFontSize,如果它是12,则输入12而不是变量12.如果它是18,则输入18。此变量的目的是避免缺少从父活动传递的值。例如:
int receivedFontSize = intent.getIntExtra("font_size", 18);