费拉斯,我一直在努力尝试在TextView上实现一个相当简单的onClick动作,但没有成功。这是我的代码:
public class AccountsActivity extends Activity {
final Context context = this;
private TextView tvNextOkin;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_account);
tvNextOkin = (TextView) findViewById(R.id.tv_acc_next_of_kin);
tvNextOkin.setText("Not set. Tap here to add");
tvNextOkin.setTextColor(Color.RED);
}
public void performClick(View view){
Log.i("Action::", "clicked!!");
// add listener
tvNextOkin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// custom dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("This is a custom dialog");
dialog.show();
}
});
}
}
这是xml布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="2dp" >
<TextView
android:id="@+id/tv_acc_next_of_kin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="tap here to add"
android:textColor="#000"
android:textSize="14dp"
android:onClick="performClick"
android:typeface="sans" />
</LinearLayout>
</ScrollView>
我的目的是在单击textview时能够调用performClick()方法。有什么建议?
添加android:clickable="true"
了TextView
在XML
就像@ Altaf在回答中提到的那样,删除监听器。只是有,
public void performClick(View view){
Log.i("Action::", "clicked!!");
// custom dialog
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("This is a custom dialog");
dialog.show();
}
或替代方法是删除android:onClick="onClick"
并onClickListener
为TextView
您的活动实施。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句