This is my Activity class . Here I have a Textview.
I want to Set the TextView from View Class.
public class TestApp extends Activity
{
TextView NameTxtView;
CustomView view;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.Main);
view = (CustomView)findViewById(R.id.customview);
NameTxtView = (TextView) findViewById(R.id.nameTxtxVw);
}
}
This is my View Class. Here i want to set the TextView Text. I can't set this Text on Activity. Because I am getting value on View class.
public class CustomView extends View
{
public CustomView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
@Override
public void onDraw(Canvas canvas)
{
NameTxtView.settext("Test");
}
}
Any Idea how to do that?
thanks
Do this way
TestApp.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.example.demo.CustomView.CustmViewListener;
public class TestApp extends Activity
{
TextView NameTxtView;
CustomView view;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.Main);
view = (CustomView)findViewById(R.id.customview);
NameTxtView = (TextView) findViewById(R.id.nameTxtxVw);
view.setCustmViewListener(new CustmViewListener() {
@Override
public void onUpdateValue(String updatedValue) {
NameTxtView.setText(updatedValue);
}
});
}
}
CustomView.java
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;
public class CustomView extends View {
CustmViewListener custmViewListener;
public CustmViewListener getCustmViewListener() {
return custmViewListener;
}
public void setCustmViewListener(CustmViewListener custmViewListener) {
this.custmViewListener = custmViewListener;
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onDraw(Canvas canvas) {
if (getCustmViewListener() != null) {
getCustmViewListener().onUpdateValue("passYourValueHere");
}
}
public interface CustmViewListener {
void onUpdateValue(String updatedValue);
}
}