I have a public class with one public static String
method. I have to getString()
and I know that before that I have to extract String
ressource and pass Context and I dont know how to pass it .
Another class uses public static String
method
Code example:
public class StringUtil {
public static String sumUp(int nr1, int nr2) {
int sum = nr1 + nr2;
String result;
//all what is in ""
result =.getString(R.string.result) + sum;
return result;
}
}
ButtonListener class uses public static String
method. Code:
public class ButtonListener extends MainActivity implements View.OnClickListener {
MainActivity activity;
EditText et1;
EditText et2;
public ButtonListener(MainActivity activity) {
this.activity = activity;
}
@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.sum:
et1 = (EditText) activity.findViewById(R.id.nr1_edit_text);
et2 = (EditText)activity.findViewById(R.id.nr2_edit_text);
String nr1In = et1.getText().toString();
String nr2In = et1.getText().toString();
int nr1 = Integer.parseInt(nr1In);
int nr2 = Integer.parseInt(nr2In);
Intent intent = new Intent(activity, IntentActivity.class);
intent.putExtra("result", StringUtil.sumUp(nr1, nr2));
activity.startActivity(intent);
break;
}
}
}
IntentActivity class ´getIntent´ Code:
public class IntentActivity extends MainActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
TextView textView = (TextView)findViewById(R.id.result);
Intent intent = getIntent();
String fResult = intent.getStringExtra("result");
textView.setText(fResult);
}
}
And MainActivity Code:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButtonListener bl = new ButtonListener(this);
Button sumUp= (Button)findViewById(R.id.sum_button);
sumUp.setOnClickListener(bl);
}
}
public class StringUtil {
public static String sumUp(int nr1, int nr2, Context context){
int sum = nr1 +nr2;
String result;
result = context.getString(R.string.result) + sum;
return result;
}
}
And use it like:
StringUtil.sumUp(1,2, this); // from Activity
StringUtil.sumUp(1,2, getContext()); // from Fragment