这是MainActivity中的代码,主要是加粗部分的代码,本打算通过Button的Onclick方法,来调用单例里边的Txtchange方法,来改变TextView的text,但是就是不法实现,求大神指点
package com.example.controlproject0311;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.os.Build;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
RelativeLayout mainLayout = new RelativeLayout(this);
mainLayout.setId(11);
setContentView(mainLayout);
Button button = new Button(this);
button.setId(20);
button.setText("hello");
button.setTextSize(40);
button.setTranslationX(50);
button.setTranslationY(60);
mainLayout.addView(button);
final TextView txtView = new TextView(this);
txtView.setText("one");
txtView.setId(12);
mainLayout.addView(txtView);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// SingletonControl.getInstance().txtChange();
Singleton2.getInstance().sayhello();
****Singleton2.getInstance().SetText(txtView.getId());
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
这是单例的代码
package com.example.controlproject0311;
import android.app.Activity;
import android.widget.TextView;
public class Singleton2 extends Activity {
/* 持有私有静态实例,防止被引用,此处赋值为null,目的是实现延迟加载 */
private static Singleton2 instance = null;
/* 私有构造方法,防止被实例化 */
private Singleton2() {
}
/* 1:懒汉式,静态工程方法,创建实例 */
public static Singleton2 getInstance() {
if (instance == null) {
instance = new Singleton2();
}
return instance;
}
public void sayhello() {
System.out.println("are you ok");
}
public void SetText(int id) {
TextView textView = (TextView) findViewById(id);
textView.setText("weew");
}
}