Android 用于原始数据列的可扩展选择器
我需要创建一个应用程序,比如android playstore和iPhone应用程序商店中的Time Buddy exists 为此,我需要集成这个工具,它允许我同时选择所有原始列,并且它应该是可扩展的。为了更好地理解,请选择此屏幕截图 在这里,所有视图都同时滚动,这就是为什么我使用滚动并添加动态线性布局,然后在其中添加动态视图。 我更喜欢这里的代码 activity_test.xml TestActivity.javaAndroid 用于原始数据列的可扩展选择器,android,view,Android,View,我需要创建一个应用程序,比如android playstore和iPhone应用程序商店中的Time Buddy exists 为此,我需要集成这个工具,它允许我同时选择所有原始列,并且它应该是可扩展的。为了更好地理解,请选择此屏幕截图 在这里,所有视图都同时滚动,这就是为什么我使用滚动并添加动态线性布局,然后在其中添加动态视图。 我更喜欢这里的代码 activity_test.xml TestActivity.java public class TestActivity extends Act
public class TestActivity extends Activity {
LinearLayout llListTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
llListTime = (LinearLayout) findViewById(R.id.llListTime);
for (int j = 0; j < 10; j++) {
LinearLayout llTimeView = new LinearLayout(TestActivity.this);
llTimeView.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT
, LinearLayout.LayoutParams.WRAP_CONTENT));
llTimeView.setOrientation(LinearLayout.HORIZONTAL);
llListTime.addView(llTimeView, j);
for (int i = 1; i < 24; i++) {
View view = LayoutInflater.from(TestActivity.this).inflate(R.layout.rv_time_raw, llTimeView, false);
TextView txtRvTime = (TextView) view.findViewById(R.id.txtRvTime);
if (i < 12) {
txtRvTime.setText(i + " am");
} else if (i == 12) {
txtRvTime.setText(i + " pm");
} else if (i > 12) {
txtRvTime.setText((i - 12) + " pm");
}
llTimeView.addView(view, i - 1);
}
}
for (int i = 0; i < 10; i++) {
LinearLayout ll = (LinearLayout) llListTime.getChildAt(i);
for (int j = 0; j < 23; j++) {
View vw = ll.getChildAt(j);
final int finalI = i;
final int finalJ = j;
vw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int p = 0; p < 10; p++) {
LinearLayout pll = (LinearLayout) llListTime.getChildAt(p);
View pvw = pll.getChildAt(finalJ);
pvw.setBackgroundColor(Color.YELLOW);
}
}
});
}
}
}
}
public class TestActivity extends Activity {
LinearLayout llListTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
llListTime = (LinearLayout) findViewById(R.id.llListTime);
for (int j = 0; j < 10; j++) {
LinearLayout llTimeView = new LinearLayout(TestActivity.this);
llTimeView.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT
, LinearLayout.LayoutParams.WRAP_CONTENT));
llTimeView.setOrientation(LinearLayout.HORIZONTAL);
llListTime.addView(llTimeView, j);
for (int i = 1; i < 24; i++) {
View view = LayoutInflater.from(TestActivity.this).inflate(R.layout.rv_time_raw, llTimeView, false);
TextView txtRvTime = (TextView) view.findViewById(R.id.txtRvTime);
if (i < 12) {
txtRvTime.setText(i + " am");
} else if (i == 12) {
txtRvTime.setText(i + " pm");
} else if (i > 12) {
txtRvTime.setText((i - 12) + " pm");
}
llTimeView.addView(view, i - 1);
}
}
for (int i = 0; i < 10; i++) {
LinearLayout ll = (LinearLayout) llListTime.getChildAt(i);
for (int j = 0; j < 23; j++) {
View vw = ll.getChildAt(j);
final int finalI = i;
final int finalJ = j;
vw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int p = 0; p < 10; p++) {
LinearLayout pll = (LinearLayout) llListTime.getChildAt(p);
View pvw = pll.getChildAt(finalJ);
pvw.setBackgroundColor(Color.YELLOW);
}
}
});
}
}
}
}